ສ້າງຄອນເທນເນີດ້ວຍ Buildah
Buildah ແມ່ນເຄື່ອງມືທີ່ຊ່ວຍໃນການສ້າງຮູບພາບຄອນເທນເນີ OCI. ທ່ານສາມາດສ້າງຮູບພາບເລີ່ມຕົ້ນແຕ່ຕົ້ນ, ຈາກຄອນເທນເນີທີ່ດຶງມາຈາກຄັງເກັບ (registry), ຫຼື ໂດຍໃຊ້ Dockerfile.
ເພື່ອໃຊ້ Buildah ໃນ Fedora IoT ທ່ານຈະຕ້ອງຕິດຕັ້ງແພັກເກດເສີມ (layered packages):
$ sudo rpm-ostree install buildah
ໂດຍທົ່ວໄປແລ້ວ Buildah ມັກຖືກນໍາໃຊ້ໃນສະພາບແວດລ້ອມຂອງນັກພັດທະນາ ແລະ ຄອນເທນເນີທີ່ໄດ້ຈະຖືກອັບໂຫຼດໄປຍັງຄັງເກັບເພື່ອໃຊ້ໃນອຸປະກອນຕ່າງໆ.
ຄຳສັ່ງສຳລັບການສ້າງຄອນເທນເນີຈາກຮູບພາບພື້ນຖານແມ່ນຄ້າຍຄືກັບຄຳສັ່ງໃນ Dockerfile. ຂັ້ນຕອນທຳອິດແມ່ນການດຶງຮູບພາບພື້ນຖານ ແລະ ສ້າງຄອນເທນເນີເຮັດວຽກ:
$ buildah from fedora fedora-working-container
ເພີ່ມແພັກເກດເຂົ້າໃນຄອນເທນເນີເຮັດວຽກ:
$ buildah run fedora-working-container dnf install httpd -y
ສ້າງໄດເຣັກທໍຣີເຮັດວຽກພ້ອມກັບເນື້ອຫາບາງຢ່າງສຳລັບເວັບເຊີເວີ:
$ mkdir demo-httpd && cd demo-httpd && echo 'sample container' > index.html
ສຳເນົາໄຟລ໌ພາຍໃນເຄື່ອງເຂົ້າໄປໃນຄອນເທນເນີເຮັດວຽກ:
$ buildah copy fedora-working-container index.html /var/www/html/index.html
ກຳນົດຈຸດເລີ່ມຕົ້ນ (entrypoint) ຂອງຄອນເທນເນີເພື່ອເລີ່ມການເຮັດວຽກຂອງແອັບພລິເຄຊັນ:
$ buildah config --entrypoint "/usr/sbin/httpd -DFOREGROUND" fedora-working-container
ເມື່ອກຳນົດຄ່າແລ້ວ, ໃຫ້ບັນທຶກຮູບພາບ:
$ buildah commit fedora-working-container fedora-myhttpd
ທ່ານສາມາດສະແດງລາຍຊື່ຮູບພາບທີ່ມີຢູ່ໃນເຄື່ອງ:
$ buildah images
ຮູບພາບຂອງ Buildah ແມ່ນອັນດຽວກັນກັບຮູບພາບຂອງ Podman. ທ່ານສາມາດລັນຄອນເທນເນີພາຍໃນເຄື່ອງໄດ້ເລີຍດ້ວຍ Podman:
$ podman run fedora-myhttpd
ເພື່ອເຮັດໃຫ້ຮູບພາບສາມາດໃຊ້ງານໄດ້ໃນອຸປະກອນອື່ນໆ, ໃຫ້ສົ່ງ (push) ຮູບພາບໄປຍັງຄັງເກັບ. ຮູບພາບເລີ່ມຕົ້ນຈະມີແທັກແມ່ນ 'latest'. ໃຊ້ buildah tag ເພື່ອເພີ່ມແທັກອື່ນໆໃສ່ຮູບພາບກ່ອນທີ່ຈະສົ່ງໄປຍັງຄັງເກັບ.
ເພື່ອສົ່ງຮູບພາບໄປຍັງຄັງເກັບ Docker ພາຍໃນເຄື່ອງ:
$ buildah push --tls-verify=false fedora-myhttpd docker://localhost:5000/testuser/fedora-myhttpd:latest
ເພື່ອສົ່ງໄປຍັງຄັງເກັບທາງໄກ (remote registry) ໃຫ້ລະບຸ URL ທີ່ຖືກຕ້ອງ ແລະ ຂໍ້ມູນການເຂົ້າລະບົບທີ່ຈຳເປັນ:
$ buildah push --creds testuser:5bbb9990-1234-1234-1234-aaa80066887c fedora-myhttpd docker://testuser/fedora-myhttpd
ສາມາດໃຊ້ Skopeo ເພື່ອກວດສອບຜົນໄດ້ຮັບ:
$ skopeo inspect --tls-verify=false docker://localhost:5000/testuser/fedora-myhttpd:latest
ທົດສອບຄວາມສາມາດໃນການເຄື່ອນຍ້າຍຂອງຄອນເທນເນີດ້ວຍຄຳສັ່ງ docker pull, podman pull ຫຼື buildah from.
ສຶກສາເພີ່ມເຕີມກ່ຽວກັບການໃຊ້ Buildah ຈາກ:
-
Fedora Magazine: ວິທີສ້າງຮູບພາບຄອນເທນເນີດ້ວຍ Buildah (2018)
-
buildah.io: ບົດຮຽນການນຳໃຊ້ (Tutorials)
Want to help? Learn how to contribute to Fedora Docs ›