“Docker, Docker, Docker ” itulah yang kami gunakan hingga saat ini.
Docker masih sangat populer, tidak diragukan lagi. Namun seperti yang kita ketahui dalam industri IT, evolusi terjadi dengan cepat. Jadi sekarang kita akan mendengar Buildah, Podman, CRI-O, Skopeo .
Jika Anda ingin menghubungkan dengan analogi – kami memiliki berbagai jenis buah beri seperti beri hitam, blueberry, raspberry tetapi suatu hari seseorang memutuskan untuk memilih blueberry. Jadi di antara Buildah, Podman, CRI-O Saya memutuskan untuk memilih buildah. Mengapa? Karena sama menariknya dengan platform container lainnya.
Mari selami Buildah!
Apa itu Buildah?
Buildah adalah alat baris perintah untuk membangun gambar Open Container Initiative (OCI). Ini dapat digunakan dengan Docker, Podman, Kubernetes – mana saja yang merupakan alat penampung favorit Anda!
Buildah digunakan untuk membuat, membangun, mengelola, menjalankan image container serta container.
Dengan Buildah Anda membuat wadah kerja baik dari gambar atau dari awal, Anda juga dapat membuat gambar dari wadah kerja atau menggunakan Dockerfile. Anda dapat membuat gambar dalam format OCI atau format Docker hulu. Anda dapat mengubah dan menghapus wadah dan gambar.
Hal yang paling menarik tentang Buildah adalah, tidak memerlukan daemon untuk bekerja. Jadi katakan tidak pada #bigfatdaemons. Tidak memiliki daemon secara khusus memberikan percikan dalam hal integrasi berkelanjutan dan pengiriman berkelanjutan untuk membangun wadah.
Tidak ada daemon juga berarti Anda dapat menghilangkan daemon Docker oleh Buildah untuk membangun image container. Tetapi itu tidak berarti Buildah tidak dapat digabungkan dengan Docker. Karena menggunakan Dockerfile, Anda dapat membangun, mengelola, dan menjalankan image container Anda dengan Buildah. Mengesankan bukan?
Menginstal Buildah di Linux
Mari kita lihat cara mengotori tangan Anda dengan Buildah. Paket untuk Buildah tersedia untuk Fedora dan CentOS. Anda dapat dengan mudah menginstalnya menggunakan manajer paket distribusi Linux Anda. Saya akan membuat daftar beberapa yang umum di sini:
Untuk menginstal Buildah di Fedora, gunakan
dnf install buildah -y
Untuk menginstal Buildah di CentOS atau RedHat:
yum install buildah -y
Untuk menginstal Buildah di Ubuntu dan Debian, Anda dapat menggunakan PPA resmi yang disediakan oleh Project Atomic.
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:projectatomic/ppa
sudo apt install buildah
Setelah Buildah terinstal, saatnya memainkannya.
Perintah dasar untuk menggunakan Buildah
Berikut adalah beberapa perintah dasar untuk memulai dengan buildah.
Untuk mengetahui versi Buildah.
buildah --version
Tugas paling awal adalah menarik image container dari repositori publik atau pribadi. Untuk menarik buildah gambar menggunakan variabel 'dari'. Variabel 'dari' sama seperti yang digunakan di Dockerfile. Bedanya di Docker kita menentukan variabel 'from' di Dockerfile, di mana di Buildah kita melewatkan variabel melalui command line.
buildah from ubuntu
Dalam perintah di atas Ubuntu adalah gambar wadah saya. Setelah berhasil menarik gambar berbasis Ubuntu di akhir keluaran, Anda akan melihat – “ubuntu-working-container”.
Setelah Anda mengetahui bahwa Anda telah berhasil menarik gambar, sekarang Anda mungkin ingin melihat daftar gambar yang Anda tarik. Tetapi sebelum itu, Anda mungkin bertanya-tanya “di mana gambar-gambar ini disimpan?”. Gambar yang ditarik akan disimpan di host itu sendiri.
buildah images
IMAGE NAME IMAGE TAG IMAGE ID CREATED AT SIZE
docker.io/library/ubuntu latest 94e814e2efa8 Mar 12, 2019 00:20 91.4 MB
docker.io/library/fedora latest d09302f77cfc Mar 12, 2019 00:20 283 MB
Jika Anda sudah terbiasa dengan perintah Docker, maka Anda mungkin telah memperhatikan kesamaan dalam perintah Docker dan Buildah. Misalnya, di Docker untuk melihat daftar gambar yang ditarik, kami menggunakan perintah 'gambar buruh pelabuhan'.
Berikut adalah perintah untuk melihat daftar container yang sedang berjalan. Di Buildah segera setelah penarikan gambar kontainer selesai, kontainer itu mulai berjalan. Jika dibandingkan dengan Docker, setelah menarik image, kita perlu menjalankan image dengan menggunakan 'docker run' dan hanya container yang mulai berjalan.
CONTAINER ID BUILDER IMAGE ID IMAGE NAME CONTAINER NAME
1063320d2dc0 * 94e814e2efa8 docker.io/library/ubuntu:latest ubuntu-working-container
978a399e0aa7 * d09302f77cfc docker.io/library/fedora:latest fedora-working-container
Jika Anda ingin membersihkan dan menghapus semua wadah yang sedang berjalan, jalankan perintah di bawah ini dengan hati-hati. Karena begitu Anda menjalankan perintah, wadah Anda akan dihapus. Hak istimewa yang kami dapatkan di buildah atas Docker adalah, Docker tidak mengizinkan kami menghapus container yang sedang berjalan tetapi Buildah melakukannya. Saat menggunakan Docker, pertama-tama kita harus menghentikan penampung dan kemudian hanya kita yang dapat menghapus gambarnya.
buildah rm --all
Jika Anda terjebak dengan beberapa perintah, ada opsi –help.
buildah --help
Mari kita lihat beberapa kasus penggunaan Buildah, untuk memulai dengan implementasi langsung, kita akan mulai dengan yang sederhana. Dan begitu Anda menemukan kecepatan dengan Buildah, Anda dapat menuangkan kreativitas Anda dan dapat melakukan hal-hal menarik.
Membangun image container server web Apache [Hands On]
Mari coba apa yang baru saja Anda pelajari dengan contoh proyek Buildah.
Menurut Anda apa yang diperlukan agar server web Apache berjalan di dalam wadah?
Tentu saja, gambar, wadah yang sedang berjalan, dan apa lagi? Nah, hal utama yang kita perlukan adalah – kita perlu menginstal paket httpd di dalam sebuah wadah. Oh! bagaimana kita melakukannya? Jangan khawatir. Saya akan memberitahu Anda itu.
Pertama-tama mari kita tarik gambar distribusi Linux. Pilih mana yang menjadi favorit Anda. Saya telah menarik gambar dasar CentOS.
buildah from centos
Sekarang instal httpd di dalam wadah CentOS. Anda dapat melakukannya dengan menggunakan perintah ini:
buildah run centos-working-container yum install httpd -y
Anda akan melihat output seperti ini.
Apa yang kami lakukan adalah, kami menginstal paket httpd bahkan tanpa masuk ke dalam wadah. Ini seperti menyiapkan bagian-bagian sepeda Anda bahkan tanpa masuk ke garasi. Anda dapat melihat pada output perintah di atas, paket telah diinstal di depan kami. Buildah tidak curang
Sekarang, mari kita buat file index.html khusus.
echo "Linux Handbook is interesting !" > index.html
Salin file kustom Anda index.html ke jalur direktori /var/www/html
buildah copy centos-working-container index.html /var/www/html/index.html
4e955fea0268518cbaa500409dfbec88f0ecebad28d84ecbe250baed97dba889
Anda pasti bertanya-tanya dari mana /var/www/html berasal? Dan mengapa kami menyalin file index.html di bawah jalur direktori itu?
Ketika kita menginstal paket httpd, direktori /var/www/html akan dibuat. /var/www/html
hanyalah folder root default dari server web.
Untuk memulai container, kita perlu mengonfigurasi entrypoint untuk wadah.
buildah config --entrypoint "/usr/sbin/httpd -DFOREGROUND" centos-working-container
Opsi “-DFOREGROUND” digunakan bersama dengan “/usr/sbin/httpd ” untuk memulai httpd. Apa yang dilakukan “-DFOREGROUND” adalah, membuat proses httpd/apache berjalan di latar depan, bukan di latar belakang. Manfaat proses httpd TIDAK berjalan di latar belakang adalah Anda dapat melihat log debug di konsol. Jika kita tidak menggunakan opsi “-DFOREGROUND”, server apache akan dimulai dan setelah itu akan dihentikan.
Sekarang, kita perlu menyimpan apa pun yang telah kita lakukan di dalam wadah. komit akan melakukannya untuk kita.
buildah commit centos-working-container Linux-Handbook
Image Linux-Handbook tersedia dan Anda dapat mendorong image ini ke registry untuk menggunakannya.
buildah images
IMAGE ID IMAGE NAME CREATED
AT SIZE
9110ae7f579f docker.io/library/centos:latest
Mar 31, 2019 14:36 234.7 MB
49bd5ec5be71 docker.io/library/Linux-Handbook:latest
Apr 4, 2019 17:28 427.7 MB
Jadi, sudah siap untuk mengotori tangan Anda dengan Buildah?
Ditulis oleh Servesha Dudhgaonkar