GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal dan Menggunakan Podman (Alternatif Docker)

Pernahkah Anda menggunakan Docker tetapi menganggapnya terlalu intensif sumber daya di sistem Anda? Jika demikian, Anda mungkin ingin mencoba Podman, alat baru dari Red Hat yang menyediakan alternatif untuk Docker.

Podman adalah alat yang dirancang untuk membuat dan mengelola container menjadi mulus. Dan dalam tutorial ini, Anda akan menginstal Podman dan mempelajari beberapa skenario penggunaan dasar. Pada akhirnya, Anda akan memutuskan apakah Podman adalah alat yang tepat untuk Anda.

Siap? Baca terus dan mulailah mengelola container baru!

Prasyarat

Tutorial ini akan menjadi demonstrasi langsung. Jika Anda ingin mengikuti, pastikan Anda memiliki yang berikut ini.

  • Mesin Linux – Demo ini menggunakan Ubuntu 20.04 LTS, tetapi semua distribusi Linux akan berfungsi.
  • Pengguna non-root dengan hak istimewa sudo.

Menginstal Podman di Ubuntu

Sebelum mengelola container dengan Podman, Anda harus terlebih dahulu menginstal Podman di mesin Anda karena Podman belum diinstal sebelumnya di distribusi Linux Anda.

Untuk menginstal Podman di Ubuntu, Anda akan mulai dengan memperbarui manajer paket APT Anda dan menambahkan repositori paket Podman.

1. Buka terminal Anda, dan jalankan apt update perintah di bawah ini untuk memastikan Anda menginstal pembaruan terbaru. Perintah ini memastikan tidak ada ketidakcocokan paket antara mesin Anda dan repositori paket.

sudo apt update -y

2. Setelah Anda memperbarui indeks paket, jalankan source perintah di bawah ini untuk menjalankan /etc/os-release file sebagai skrip. Perintah ini memastikan bahwa mesin Anda akan mengenali versi Ubuntu yang Anda gunakan.

File os-release berisi informasi sistem operasi, seperti nama dan nama kode. File juga mungkin menyertakan detail lain seperti nomor versi berbagai komponen (kernel, X server, dan sebagainya.)

source /etc/os-release

3. Jalankan sh -c echo perintah di bawah ini untuk menambahkan kubic deb repositori paket ke APT. Podman tidak tersedia di repositori default Ubuntu, jadi Anda perlu menambahkan repositori Podman sebelum menginstalnya.

Perintah di bawah ini melakukan hal berikut:

  • Membuat file baru (sh -c ) di /etc/apt/sources.list.d/ direktori. Direktori ini adalah tempat APT mengunduh paket deb untuk instalasi di mesin Anda.
  • Memastikan Anda menggunakan versi Ubuntu tertentu ({VERSION_ID} ), yang merupakan versi yang sebelumnya Anda dapatkan dari source perintah di atas pada langkah kedua.
  • Mengalihkan keluaran (> ) untuk menulis di bagian bawah file, memastikan bahwa input Anda ditulis ke dalam file dengan benar (sources.list.d/devel:kubic:libcontainers:stable.list ).
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"

4. Sekarang, jalankan wget perintah di bawah ini untuk menambahkan kunci repositori ke daftar kunci tepercaya APT.

Red Hat menghosting kunci tersebut, dan mereka menandatanganinya dengan kunci pribadi yang hanya memverifikasi ke orang lain yang memiliki kunci publik mereka. Kunci ini memastikan bahwa Red Hat dan bukan orang lain yang merilis paket yang Anda unduh dan instal.

wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/xUbuntu_${VERSION_ID}/Release.key -O- | sudo apt-key add -

5. Jalankan kembali apt update perintah untuk memastikan daftar paket APT terbaru.

sudo apt update -y

6. Selanjutnya, jalankan apt install perintah di bawah ini untuk menginstal podman .

sudo apt install podman -y

7. Terakhir, jalankan perintah di bawah ini untuk memeriksa --version yang terpasang di Podman .

podman --version

Seperti yang Anda lihat di bawah, versi Podman yang diinstal adalah 3.4.2, versi terbaru pada saat penulisan, dan versi Anda mungkin berbeda.

Anda juga dapat menjalankan perintah podman inf di bawah ini untuk melihat informasi lebih lanjut tentang instalasi Podman Anda.

podman info

Mengaktifkan Registri OCI

Sebelum menggunakan Podman untuk membuat container, pastikan Podman dapat berkomunikasi dengan registry OCI. Podman mendukung beberapa registry OCI secara bersamaan sehingga Anda dapat membuat container menggunakan repositori yang berbeda.

Buka /etc/containers/registries.conf file dengan editor teks pilihan Anda. File ini mendefinisikan semua registry yang dapat berkomunikasi dengan Podman. Podman berkonsultasi dengan file ini untuk mengetahui registry mana yang harus terhubung dengannya.

sudo nano /etc/containers/registries.conf

Sekarang, isi registries.conf file dengan baris berikut, simpan perubahan dan tutup editor.

Baris ini mengonfigurasi Podman untuk menggunakan registri publik di Docker Hub (docker.io, registry.access.redhat.com ) dan registri pribadi (quay.io ), yang direkomendasikan.

[[registry]]
prefix="[quay.io]()"
location="internal.registry.mirror/quay"
[[registry]]
prefix="[docker.io]()"
location="internal.registry.mirror/docker"
[[registry]]
prefix="[registry.access.redhat.com]()"
location="internal.registry.mirror/redhat"

Menjalankan Podman Container dengan Hak Istimewa Podman

Sekarang setelah Anda menginstal Podman dan mengonfigurasi registri, Anda dapat mulai menjalankan wadah Podman dengan hak istimewa Podman. Kernel Linux mendukung berbagai pemeriksaan izin pada panggilan sistemnya, seperti kemampuan.

Dalam kasus wadah Podman, kapabilitas mengontrol perilaku default root dalam namespace pengguna. Anda dapat menggunakan --privileged tandai saat menjalankan penampung untuk menambahkan semua kemampuan yang belum ada di penampung.

1. Jalankan podman run perintah di bawah ini untuk membuat fedora wadah tanpa kemampuan.

podman run -d fedora sleep 100

2. Selanjutnya, jalankan podman top di bawah ini perintah untuk membuat daftar semua kemampuan.

podman top -l capeff 

Seperti yang ditunjukkan di bawah ini, container rootless biasa memiliki kemampuan terbatas.

3. Jalankan podman run perintah di bawah ini untuk membuat wadah dengan semua kemampuan (--privileged ).

podman run --privileged -d fedora sleep 100

4. Terakhir, jalankan kembali podman top perintah untuk memeriksa perbedaan kemampuan.

podman top -l capeff

Anda akan melihat bahwa kemampuan penuh tersedia untuk container ini karena flag –privileged, seperti yang ditunjukkan di bawah ini.

Anda akan melihat bahwa kapabilitas penuh tersedia untuk container ini karena flag –privileged, seperti yang ditunjukkan Flag –privileged memungkinkan container berjalan dengan semua kemampuan, bukan hanya yang sudah ada di container. Bendera ini penting karena memetakan namespace pengguna container ke namespace host, memberikannya semua kemampuan proses yang berjalan di sistem Anda.

Jika Anda tidak menyetel tanda –privileged saat meluncurkan wadah, maka wadah tersebut akan memiliki serangkaian kemampuan terbatas. Dalam kasus container yang menggunakan namespace penggunanya sendiri, Anda harus memberikan semua kemampuan secara eksplisit kepada mereka.

Bekerja dengan Gambar dan Wadah Podman

Sekarang setelah Anda mempelajari cara menambahkan Registri dan kemampuan OCI untuk sebuah wadah, Anda dapat bekerja dengan gambar dan wadah Podman. Untuk demo ini, Anda akan menggunakan NGINX untuk gambar guna membuat wadah.

1. Jalankan podman search perintah di bawah ini untuk menampilkan semua gambar Podman yang tersedia untuk nginx

podman search nginx

Di bawah ini, Anda dapat melihat bahwa Anda mendapatkan semua gambar yang diberi tag untuk NGINX dari docker.io , quay.io , dan redhat.com repo yang Anda tambahkan sebelumnya di bagian “Mengaktifkan Registri OCI”:

  • INDEX kolom menunjukkan lokasi gambar.
  • Yang RESMI kolom dengan OK status menunjukkan gambar di baris dibuat dan didukung oleh perusahaan resminya. Misalnya, NGINX gambar dengan Oke status dibuat dan didukung oleh perusahaannya, NGINX. Gambar-gambar ini akan diperbarui segera setelah kerentanan keamanan dan pembaruan patch keluar.
  • OTOMATIS kolom dengan OK status berarti bahwa gambar tersebut dibuat secara otomatis. Gambar-gambar ini akan diperbarui segera setelah kerentanan keamanan dan pembaruan patch keluar.

2. Setelah memilih gambar NGINX untuk digunakan, jalankan podman perintah di bawah untuk mengunduh (pull ) gambar ke mesin lokal Anda.

Demo ini menggunakan nginx:alpine karena ini adalah gambar terkecil dan hanya dapat berjalan di memori, sehingga menghemat waktu pada langkah-langkah pembuatan di kemudian hari.

podman pull nginx:alpine

Pada titik ini, Anda memiliki gambar baru yang dapat digunakan untuk membuat wadah dengan atau digunakan sebagai gambar dasar untuk wadah lain.

3. Jalankan podman images perintah untuk melihat informasi gambar baru Anda

podman images

4. Sekarang, jalankan podman run perintah di bawah ini untuk membuat wadah dari gambar (nginx:alpine ) dan jalankan nginx server pada gambar itu.

Perintah ini melakukan hal berikut:

  • Memulai container secara interaktif (-it ) dan memungkinkan Anda untuk memasang terminal.
  • Hapus (--rm ) wadah setelah keluar/berhenti.
  • Menjalankan penampung di latar belakang (--d ) dan menerbitkan (-p ) port 80 pada semua antarmuka ke port 8080 pada wadah.
  • Tentukan nama wadah (--name web ).
podman run -it --rm -d -p 8080:80 --name web nginx:alpine

Anda akan mendapatkan ID wadah acak, seperti yang ditunjukkan di bawah ini, yang dapat Anda gunakan untuk memantau/memulai/menghentikan/menghapus wadah. Catat ID penampung karena berguna saat memeriksa log atau menghentikan penampung tertentu.

5. Jalankan podman ps di bawah ini perintah (tanpa argumen) untuk memeriksa apakah wadah Anda sedang berjalan.

podman ps

Anda dapat melihat bahwa penampung web dalam keadaan Aktif dan menggunakan port 8080/TCP pada mesin host Anda untuk mengekspos sumber dayanya.

6. Untuk memeriksa ulang, buka browser web Anda dan navigasikan ke localhost:8080 atau ip-server-Anda:8080 , di mana ip-server-Anda adalah alamat IP server Anda.

Jika penampung Anda berfungsi, Anda akan melihat layar pembuka NGINX default, seperti yang ditunjukkan di bawah ini.

Jika Anda tidak yakin bagaimana wadah diatur, atau jika ada kesalahan, jalankan perintah podman logs di bawah ini untuk mendapatkan file log untuk wadah. Ganti mycontainer dengan ID container target Anda.

podman logs mycontainer

7. Jalankan salah satu dari podman stop perintah di bawah ini untuk menghentikan container Anda. Ganti mycontainer dengan ID penampung target Anda, atau ganti web dengan nama kontainer yang sebenarnya.

Karena Anda menggunakan flag –rm pada langkah keempat, Podman menghapus container Anda segera setelah Anda menghentikan container tersebut. Penyiapan ini membantu menjaga ruang kerja Anda tetap rapi.

# Stops the container by Container ID
podman stop mycontainer
# Stops the container by Container Name
podman stop web

8. Terakhir, jalankan podman ps perintah untuk membuat daftar semua wadah, termasuk wadah yang dihentikan.

podman ps -a

Penampung Anda terhapus saat sebelumnya Anda menghentikannya, jadi Anda tidak akan mendapatkan apa pun di daftar, seperti yang ditunjukkan di bawah ini.

Kesimpulan

Sepanjang artikel ini, Anda telah belajar menginstal Podman dan cara bekerja dengan image dan container untuk penerapan. Pada titik ini, Anda sekarang dapat menggunakan gambar yang mendukung OCI dari docker.io , quay.io , dan redhat.com repositori untuk membuat wadah Anda sendiri.

Dengan pengetahuan baru ini, mengapa tidak membuat pod Kubernetes Anda dengan Podman play kube, atau mulai menggunakan Ansible untuk mengotomatiskan container Podman?


Linux
  1. Cara Menginstal dan Menggunakan Docker di Ubuntu 20.04

  2. Cara menginstal dan menggunakan Podman di Fedora 34/35

  3. Cara Menginstal dan Menggunakan Perintah Ping di Linux

  1. Cara Menginstal dan Menggunakan Docker di Ubuntu 20.04

  2. Cara Menginstal dan Menggunakan Docker di Ubuntu 18.04

  3. Cara Menginstal dan Menggunakan Docker Compose di Ubuntu 18.04

  1. Cara Menginstal dan Menggunakan Docker di CentOS 7

  2. Cara Menginstal dan Menggunakan Docker Compose di CentOS 7

  3. Cara Menginstal dan Menggunakan Podman (Alternatif Docker) di Ubuntu 20.04