GNU/Linux >> Belajar Linux >  >> Linux

Memulai Dengan Buildah untuk Mengelola Kontainer Linux

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


Linux
  1. Memulai dengan firewall Linux

  2. 5 tips untuk memulai dengan keamanan server Linux

  3. Memulai Samba untuk interoperabilitas

  1. Memulai socat, alat relai serbaguna untuk Linux

  2. Memulai PostgreSQL di Linux

  3. Memulai SSH di Linux

  1. Memulai dengan btrfs untuk Linux

  2. Saran untuk memulai dengan GNOME

  3. Desktop Linux untuk minimalis:Memulai dengan LXQt dan LXDE