Contoh Image Bootc Fedora IoT dengan Quay
Membangun dan Mem-boot Image Bootc Fedora IoT
Contoh ini memandu proses membangun dan mem-boot image bootc Fedora IoT menggunakan Quay.io, serta mendorong pembaruan ke sistem Fedora IoT yang sedang berjalan.
Contoh ini didasarkan pada dokumentasi bootc Fedora tentang membangun image dari awal; rujuk dokumentasi upstream di sini untuk versi/informasi terbaru.
|
| Contoh ini mengasumsikan pengguna memiliki akun Quay dengan kemampuan membuat repositori kustom. |
Untuk memulai, buat Containerfile.custom dengan isi berikut:
FROM quay.io/fedora-testing/fedora-bootc:rawhide-standard as builder
RUN /usr/libexec/bootc-base-imagectl build-rootfs --manifest=fedora-iot /target-rootfs
FROM scratch
COPY --from=builder /target-rootfs/ /
LABEL containers.bootc 1
ENV container=oci
STOPSIGNAL SIGRTMIN+3
CMD ["/sbin/init"]
Anda sekarang siap untuk membangun image bootc Fedora IoT menggunakan Containerfile kustom yang telah Anda buat sebelumnya. Gunakan perintah ini:
podman build --cap-add=all --security-opt=label=type:container_runtime_t \
--device /dev/fuse -t localhost/fedora-iot -f Containerfile.custom .
Kemudian, beri tag pada image bootc Fedora IoT Anda:
podman tag localhost/fedora-iot:latest quay.io/[quay repository name]:fedora-iot
Sebelum mendorong ke Quay.io, Anda mungkin perlu masuk terlebih dahulu:
podman login quay.io
Dorong image bootc Fedora IoT baru Anda ke Quay.io menggunakan perintah berikut. Perhatikan bahwa Anda mungkin perlu masuk kembali:
podman push quay.io/[quay repository name]:fedora-iot
Langkah berikutnya menggunakan podman-bootc. Jika Anda perlu memasang podman-bootc, ikuti petunjuk di repositori podman-bootc
|
Sekarang, boot image bootc Fedora IoT Anda. Buka jendela terminal baru dan jalankan:
podman-bootc run --filesystem=ext4 quay.io/[quay repository name]:fedora-iot
podman-bootc akan menarik image Anda dan mem-boot-nya di dalam VM di jendela terminal, memungkinkan Anda menguji semua yang ditawarkan oleh image bootc Fedora IoT.
Mendorong Pembaruan ke Sistem Bootc Fedora IoT Anda
Setelah menyelesaikan tutorial di atas, Anda kini memiliki sistem bootc Fedora IoT yang berfungsi! Namun bagaimana jika Anda perlu melakukan perubahan? Memperbarui sistem bootc sangatlah sederhana — cukup ikuti langkah-langkah di bawah ini.
Tutorial ini mengasumsikan Anda baru saja menyelesaikan tutorial di atas dan memiliki akses ke sistem bootc Fedora IoT yang sedang berjalan.
|
Pertama, navigasikan ke repositori Fedora Bootc Base Images yang telah Anda kloning dan buat Containerfile bernama Containerfile.fix dengan perubahan yang Anda inginkan.
Selanjutnya, bangun ulang image localhost/fedora-iot Anda menggunakan Containerfile baru:
podman build --cap-add=all --security-opt=label=type:container_runtime_t \
--device /dev/fuse -t localhost/fedora-iot -f Containerfile.fix .
Beri tag pada image bootc Fedora IoT Anda yang telah diperbarui:
podman tag localhost/fedora-iot:latest quay.io/[quay repository name]:fedora-iot
Sebelum mendorong ke Quay.io, Anda mungkin perlu masuk terlebih dahulu:
podman login quay.io
Dorong image bootc Fedora IoT Anda yang telah diperbarui ke Quay.io, menggunakan perintah di bawah ini:
podman push quay.io/[quay repository name]:fedora-iot
Setelah berhasil mendorong, beralih kembali ke mesin virtual yang menjalankan image bootc Fedora IoT Anda. Unduh dan antrekan image yang diperbarui untuk reboot berikutnya:
bootc upgrade
Jalankan perintah berikut untuk melihat image yang diperbarui yang disiapkan untuk reboot berikutnya:
bootc status
Mulai ulang sistem bootc Fedora IoT Anda dan gunakan image baru yang telah diperbarui:
reboot
Setelah reboot, Anda mungkin perlu SSH kembali ke sistem bootc Fedora IoT Anda. Untuk melakukannya, pertama tampilkan daftar semua VM podman-bootc:
podman-bootc list
Kemudian temukan ID mesin yang Anda inginkan dan jalankan perintah berikut:
podman-bootc ssh [ID]
Setelah terhubung kembali, jalankan dan periksa status lagi:
bootc status
Image yang diperbarui seharusnya kini muncul sebagai Booted, dan image sebelumnya sebagai Rollback. Anda telah berhasil memperbarui sistem bootc Fedora IoT Anda!
Want to help? Learn how to contribute to Fedora Docs ›