Membangun Container dengan Buildah

Buildah adalah alat yang memfasilitasi pembangunan image container OCI. Anda dapat membangun image dari awal, dari container yang ditarik dari registry, atau menggunakan Dockerfile.

Untuk menggunakan buildah di Fedora IoT, Anda perlu menginstal paket berlapis:

$ sudo rpm-ostree install buildah

Lebih umum buildah digunakan di lingkungan pengembang dan container yang dihasilkan kemudian diunggah ke registry untuk digunakan di perangkat mana pun.

Perintah untuk membangun container dari image dasar mirip dengan baris-baris dalam Dockerfile. Langkah pertama adalah menarik image dasar dan membuat container kerja:

$ buildah from fedora
fedora-working-container

Tambahkan paket ke container kerja:

$ buildah run fedora-working-container dnf install httpd -y

Buat direktori kerja dengan beberapa konten untuk server web:

$ mkdir demo-httpd && cd demo-httpd && echo 'sample container' > index.html

Salin file lokal ke dalam container kerja:

$ buildah copy fedora-working-container index.html /var/www/html/index.html

Tentukan entrypoint container untuk memulai aplikasi:

$ buildah config --entrypoint "/usr/sbin/httpd -DFOREGROUND" fedora-working-container

Setelah dikonfigurasi, simpan image:

$ buildah commit fedora-working-container fedora-myhttpd

Anda dapat membuat daftar image lokal:

$ buildah images

Image buildah sama dengan image podman. Anda sekarang dapat menjalankan container secara lokal dengan podman:

$ podman run fedora-myhttpd

Untuk membuat image tersedia di perangkat lain, push image ke registry. Image default memiliki tag 'latest'. Gunakan buildah tag untuk menambahkan tag tambahan ke image sebelum push ke repositori.

Untuk push image ke registry Docker lokal:

$ buildah push --tls-verify=false fedora-myhttpd docker://localhost:5000/testuser/fedora-myhttpd:latest

Untuk push ke registry jarak jauh, berikan URL yang benar dan kredensial yang diperlukan:

$ buildah push --creds testuser:5bbb9990-1234-1234-1234-aaa80066887c fedora-myhttpd docker://testuser/fedora-myhttpd

Skopeo dapat digunakan untuk memeriksa hasilnya:

$ skopeo inspect --tls-verify=false docker://localhost:5000/testuser/fedora-myhttpd:latest

Uji portabilitas container dengan perintah docker pull atau podman pull atau buildah from.

Pelajari lebih lanjut tentang penggunaan buildah dari: