ພົດຈະນານຸກົມ
ເມື່ອເວົ້າເຖິງການໃຊ້ຄອນເທນເນີ, ມັນເປັນສິ່ງສຳຄັນທີ່ຈະຕ້ອງມີຄວາມເຂົ້າໃຈຢ່າງລະອຽດກ່ຽວກັບຄຳສັບທີ່ກ່ຽວຂ້ອງ. ໜຶ່ງໃນສິ່ງທ້າທາຍທີ່ຜູ້ຄົນພົບພໍ້ຄື ຄຳສັບຫຼາຍຄຳຕໍ່ໄປນີ້ຖືກນຳໃຊ້ແທນກັນໄດ້. ເຊິ່ງອາດຈະສ້າງຄວາມສັບສົນ, ໂດຍສະເພາະສຳລັບຜູ້ເລີ່ມຕົ້ນໃໝ່.
ຈຸດປະສົງຂອງພາກສ່ວນນີ້ແມ່ນເພື່ອເຮັດໃຫ້ຄຳສັບເຫຼົ່ານີ້ມີຄວາມຊັດເຈນຂຶ້ນ, ເພື່ອໃຫ້ພວກເຮົາສາມາດເວົ້າໃນພາສາດຽວກັນໄດ້.
ອິເມຈຄອນເທນເນີ
ອິເມຈຄອນເທນເນີ ແມ່ນໂຄງສ້າງລະບົບໄຟລ໌ທີ່ລວມເອົາຂໍ້ກຳນົດທັງໝົດສຳລັບການເຮັດວຽກຂອງຄອນເທນເນີ, ລວມທັງຂໍ້ມູນເມຕາດາຕາທີ່ອະທິບາຍເນື້ອໃນ. ທ່ານສາມາດຄິດເຖິງມັນໄດ້ວ່າເປັນເຕັກໂນໂລຊີການບັນຈຸພັນ.
ຄອນເທນເນີ
ຄອນເທນເນີປະກອບດ້ວຍສອງຢ່າງຄື: ຊັ້ນລະບົບໄຟລ໌ທີ່ຂຽນໄດ້ຢູ່ເທິງອິເມຈຄອນເທນເນີ, ແລະ ໂປຣເຊສລີນຸກແບບດັ້ງເດີມ. ຄອນເທນເນີຫຼາຍອັນສາມາດເຮັດວຽກຢູ່ເທິງເຄື່ອງດຽວກັນ ແລະ ໃຊ້ງານເຄີເນິນຂອງລະບົບປະຕິບັດການຮ່ວມກັບຄອນເທນເນີອື່ນໆ, ໂດຍແຕ່ລະອັນຈະເຮັດວຽກເປັນໂປຣເຊສທີ່ແຍກອອກຈາກກັນໃນພື້ນທີ່ຜູ້ໃຊ້. ຄອນເທນເນີໃຊ້ພື້ນທີ່ໜ້ອຍກວ່າເຄື່ອງສະເໝືອນ (ອິເມຈຄອນເທນເນີຂອງແອັບພລິເຄຊັນໂດຍທົ່ວໄປມີຂະໜາດພຽງບໍ່ເທົ່າໃດສິບ MB), ແລະ ເລີ່ມເຮັດວຽກໄດ້ເກືອບຈະທັນທີ.
ຄັງເກັບ (Repository)
ເມື່ອນຳໃຊ້ຄຳສັ່ງ docker, ຄັງເກັບແມ່ນສິ່ງທີ່ຖືກກຳນົດໄວ້ໃນແຖວຄຳສັ່ງ, ບໍ່ແມ່ນອິເມຈ. ໃນຄຳສັ່ງຕໍ່ໄປນີ້, “fedora” ແມ່ນຄັງເກັບ.
ໃນຄວາມເປັນຈິງ ມັນຈະຖືກຂະຫຍາຍອອກໂດຍອັດຕະໂນມັດເປັນ:
``` docker pull docker.io/library/fedora:latest ```
ສິ່ງນີ້ອາດຈະເຮັດໃຫ້ສັບສົນ, ແລະ ຫຼາຍຄົນມັກເອີ້ນສິ່ງນີ້ວ່າເປັນອິເມຈ ຫຼື ອິເມຈຄອນເທນເນີ. ໃນຄວາມເປັນຈິງ, ຄຳສັ່ງຍ່ອຍ docker images ແມ່ນຖືກນຳໃຊ້ເພື່ອສະແດງລາຍຊື່ຄັງເກັບທີ່ມີຢູ່ໃນເຄື່ອງ. ຕາມແນວຄວາມຄິດແລ້ວ, ຄັງເກັບເຫຼົ່ານີ້ສາມາດຖືວ່າເປັນອິເມຈຄອນເທນເນີໄດ້, ແຕ່ມັນສຳຄັນທີ່ຈະຕ້ອງເຂົ້າໃຈວ່າ ຄັງເກັບເຫຼົ່ານີ້ຕົວຈິງແລ້ວແມ່ນປະກອບຂຶ້ນມາຈາກຫຼາຍໆເລເຢີ (layers).
ເມື່ອພວກເຮົາລະບຸຄັງເກັບໃນແຖວຄຳສັ່ງ, ເດມອນຂອງ Docker (Docker daemon) ຈະເຮັດວຽກບາງຢ່າງເພີ່ມເຕີມໃຫ້ທ່ານ. ເດມອນຂອງ Docker (ບໍ່ແມ່ນເຄື່ອງມືຝັ່ງລູກຄ້າ) ຈະຖືກຕັ້ງຄ່າດ້ວຍລາຍຊື່ຂອງເຊີບເວີເພື່ອຄົ້ນຫາ. ໃນຕົວຢ່າງຂ້າງເທິງຂອງພວກເຮົາ, ເດມອນຈະຄົ້ນຫາຄັງເກັບ “fedora” ໃນແຕ່ລະເຊີບເວີທີ່ໄດ້ຕັ້ງຄ່າໄວ້.
ໃນຄຳສັ່ງຂ້າງເທິງ, ມີພຽງແຕ່ຊື່ຄັງເກັບເທົ່ານັ້ນທີ່ຖືກລະບຸ, ແຕ່ມັນຍັງສາມາດລະບຸທີ່ຢູ່ URL ແບບເຕັມດ້ວຍ Docker client ໄດ້. ເພື່ອໃຫ້ເຫັນພາບຊັດເຈນ, ພວກເຮົາລອງມາແຍກສ່ວນປະກອບຂອງທີ່ຢູ່ແບບເຕັມເບິ່ງ.
``` REGISTRY[:PORT]/NAMESPACE/REPOSITORY[:TAG] ```
URL ແບບເຕັມແມ່ນປະກອບດ້ວຍຊື່ເຊີບເວີມາດຕະຖານ, ເນມສະເປສ, ແລະ ແທັກ (ທາງເລືອກ). ຕົວຈິງແລ້ວມີຫຼາຍຮູບແບບໃນການກຳນົດ URL ແລະ ເມື່ອທ່ານສຶກສາລະບົບນິເວດຂອງ Docker, ທ່ານຈະພົບວ່າຫຼາຍສ່ວນແມ່ນເປັນທາງເລືອກ. ຄຳສັ່ງຕໍ່ໄປນີ້ແມ່ນຖືກຕ້ອງທັງໝົດ ແລະ ທັງໝົດແມ່ນເປັນການດຶງຂໍ້ມູນຮູບແບບຕ່າງໆຂອງຄັງເກັບດຽວກັນ:
``` docker pull docker.io/library/fedora:latest docker pull docker.io/library/fedora docker pull library/fedora docker pull fedora ```
==== ເລເຢີຂອງອິເມຈ (Image Layer)
ຄັງເກັບມັກຈະຖືກເອີ້ນວ່າເປັນອິເມຈ ຫຼື ອິເມຈຄອນເທນເນີ, ແຕ່ຕົວຈິງແລ້ວພວກມັນປະກອບດ້ວຍເລເຢີໜຶ່ງ ຫຼື ຫຼາຍກວ່ານັ້ນ. ເລເຢີຂອງອິເມຈໃນຄັງເກັບຈະຖືກເຊື່ອມຕໍ່ເຂົ້າກັນໃນຮູບແບບຄວາມສຳພັນແບບແມ່-ລູກ. ແຕ່ລະເລເຢີຂອງອິເມຈຈະສະແດງເຖິງບາງສ່ວນຂອງອິເມຈຄອນເທນເນີຂັ້ນສຸດທ້າຍ.
==== ເຣຈິສທຣີຄອນເທນເນີ (Container Registry)
ເຊີບເວີເຣຈິສທຣີ, ໂດຍພື້ນຖານແລ້ວແມ່ນເຊີບເວີໄຟລ໌ທີ່ຖືກອອກແບບມາເປັນພິເສດເພື່ອໃຊ້ສຳລັບເກັບຄັງເກັບຂອງ Docker. ໂດຍທົ່ວໄປແລ້ວ, ເຊີບເວີເຣຈິສທຣີຈະຖືກກຳນົດເປັນຊື່ DNS ປົກກະຕິ ແລະ ອາດມີໝາຍເລກພອດເພື່ອເຊື່ອມຕໍ່. ຄຸນຄ່າສ່ວນໃຫຍ່ໃນລະບົບນິເວດຂອງ Docker ແມ່ນມາຈາກຄວາມສາມາດໃນການ push (ສົ່ງ) ແລະ pull (ດຶງ) ຄັງເກັບຈາກເຊີບເວີເຣຈິສທຣີ.
ເມື່ອເດມອນຂອງ Docker ບໍ່ມີສຳເນົາຂອງຄັງເກັບທີ່ເກັບໄວ້ໃນເຄື່ອງ, ມັນຈະດຶງຂໍ້ມູນຈາກເຊີບເວີເຣຈິສທຣີໂດຍອັດຕະໂນມັດ. ໂດຍປົກກະຕິແລ້ວ ເຣຈິສທຣີເລີ່ມຕົ້ນຈະຖືກຕັ້ງເປັນ docker.io (Docker Hub). ມັນເປັນສິ່ງສຳຄັນທີ່ຈະຕ້ອງເນັ້ນໜັກວ່າ, ມັນມີຄວາມໄວ້ວາງໃຈທີ່ແຝງຢູ່ນຳເຊີບເວີເຣຈິສທຣີ.
ທ່ານຕ້ອງກຳນົດວ່າທ່ານໄວ້ວາງໃຈເນື້ອໃນທີ່ສະໜອງໃຫ້ໂດຍເຣຈິສທຣີຫຼາຍປານໃດ ແລະ ທ່ານອາດຈະຕ້ອງການອະນຸຍາດ ຫຼື ບລັອກບາງເຣຈິສທຣີ. ນອກຈາກເລື່ອງຄວາມປອດໄພແລ້ວ, ຍັງມີຂໍ້ກັງວົນອື່ນໆ ເຊັ່ນ: ຜູ້ໃຊ້ສາມາດເຂົ້າເຖິງຊອບແວທີ່ມີລິຂະສິດ ແລະ ບັນຫາການປະຕິບັດຕາມກົດລະບຽບ. ຄວາມງ່າຍດາຍທີ່ Docker ຊ່ວຍໃຫ້ຜູ້ໃຊ້ດຶງຊອບແວນັ້ນ ເຮັດໃຫ້ຄວາມໄວ້ວາງໃຈໃນເນື້ອໃນຈາກຕົ້ນທາງ (upstream) ເປັນເລື່ອງທີ່ສຳຄັນທີ່ສຸດ.
==== ເນມສະເປສ (Namespace)
ເນມສະເປສ ແມ່ນເຄື່ອງມືສຳລັບການແຍກກຸ່ມຂອງຄັງເກັບ. ໃນ DockerHub ສາທາລະນະ, ເນມສະເປສໂດຍທົ່ວໄປແມ່ນຊື່ຜູ້ໃຊ້ຂອງບຸກຄົນທີ່ແບ່ງປັນອິເມຈ, ແຕ່ຍັງສາມາດເປັນຊື່ກຸ່ມ, ຫຼື ຊື່ທາງຕັກກະສາດກໍໄດ້.
==== ແທັກ (Tag)
ເມື່ອຜູ້ສ້າງອິເມຈສ້າງຄັງເກັບໃໝ່, ໂດຍທົ່ວໄປແລ້ວພວກເຂົາຈະຕິດປ້າຍກຳນົດເລເຢີຂອງອິເມຈທີ່ດີທີ່ສຸດເພື່ອໃຊ້ງານ. ສິ່ງເຫຼົ່ານີ້ເອີ້ນວ່າ ແທັກ ແລະ ໂດຍທົ່ວໄປຈະເຊື່ອມໂຍງກັບເວີຊັນຂອງຊອບແວທີ່ບັນຈຸຢູ່ໃນຄັງເກັບ. ເວົ້າອີກຢ່າງໜຶ່ງ, ແທັກແມ່ນວິທີທີ່ໃຊ້ອະທິບາຍຄວາມແຕກຕ່າງລະຫວ່າງອິເມຈຕ່າງໆໃນຄັງເກັບ.
Want to help? Learn how to contribute to Fedora Docs ›