Podman (POD MANager) adalah mesin kontainer yang sesuai dengan OCI, dikembangkan oleh Red Hat sebagai pengganti Docker. Ini digunakan untuk mengelola dan menjalankan, wadah, gambar, dan volume melalui antarmuka baris perintah. Baik Docker dan Podman adalah perangkat lunak yang serupa. Satu-satunya perbedaan adalah Podman tidak memerlukan daemon untuk menjalankan container, sedangkan Docker membutuhkan daemon Docker Engine. Podman menggunakan library libpod untuk mengelola seluruh ekosistem container.
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan menggunakan Podman di Debian 11.
Prasyarat
- Server yang menjalankan Debian 11.
- Kata sandi root dikonfigurasi di server.
Instal Podman
Paket Podman disertakan dalam repositori default Debian 11. Anda dapat menginstalnya hanya dengan menjalankan perintah berikut:
apt-get install podman -y
Setelah Podman diinstal, verifikasi versi Podman menggunakan perintah di bawah ini:
podman --version
Anda akan melihat versi Podman di output berikut:
podman version 3.0.1
Anda bisa mendapatkan informasi lebih lanjut tentang Podman menggunakan perintah berikut:
podman info
Anda akan mendapatkan output berikut:
host: arch: amd64 buildahVersion: 1.19.6 cgroupManager: systemd cgroupVersion: v2 conmon: package: 'conmon: /usr/bin/conmon' path: /usr/bin/conmon version: 'conmon version 2.0.25, commit: unknown' cpus: 2 distribution: distribution: debian version: "11" eventLogger: journald hostname: debian11 idMappings: gidmap: null uidmap: null kernel: 5.10.0-8-amd64 linkmode: dynamic memFree: 3365183488 memTotal: 4122267648 ociRuntime: name: crun package: 'crun: /usr/bin/crun' path: /usr/bin/crun version: |- crun version 0.17 commit: 0e9229ae34caaebcb86f1fde18de3acaf18c6d9a spec: 1.0.0 +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL os: linux remoteSocket: exists: true path: /run/podman/podman.sock security: apparmorEnabled: true capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT rootless: false seccompEnabled: true selinuxEnabled: false
Tambahkan Registri OCI
Podman menggunakan file konfigurasi registry /etc/containers/registries.conf untuk menarik semua image container dari internet. Jadi, Anda perlu mengeditnya dan menentukan registri:
nano /etc/containers/registries.conf
Tambahkan baris berikut di akhir file:
[registries.insecure] registries = [ ] # If you need to block pull access from a registry, uncomment the section below # and add the registries fully-qualified name. # Docker only [registries.block] registries = [ ]
Simpan dan tutup file setelah Anda selesai.
Cara Menggunakan Podman
Di bagian ini, kami akan menunjukkan cara menggunakan perintah Podman untuk menarik gambar dan menjalankan container.
Untuk menarik gambar Debian, jalankan perintah berikut:
podman pull debian
Anda akan mendapatkan output berikut:
Resolved "debian" as an alias (/etc/containers/registries.conf.d/shortnames.conf) Trying to pull docker.io/library/debian:latest... Getting image source signatures Copying blob 647acf3d48c2 done Copying config 827e561138 done Writing manifest to image destination Storing signatures 827e5611389abf13dad1057e92f163b771febc0bcdb19fa2d634a7eb0641e0cc
Anda dapat melihat gambar yang diunduh menggunakan perintah berikut:
podman images
Anda akan mendapatkan output berikut:
REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/debian latest 827e5611389a 11 days ago 129 MB
Selanjutnya, jalankan container dari image Debian menggunakan perintah berikut:
podman run -dit debian:latest
Anda akan mendapatkan output berikut:
f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103
Anda dapat membuat daftar semua container yang sedang berjalan menggunakan perintah berikut:
podman ps
Anda akan melihat output berikut:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f85c4df5ab78 docker.io/library/debian:latest bash 13 seconds ago Up 13 seconds ago competent_cori
Untuk memeriksa container yang sedang berjalan, jalankan perintah Podman dengan menentukan ID container:
podman inspect f85c4df5ab78
Anda akan mendapatkan output berikut:
[ { "Id": "f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103", "Created": "2021-11-28T07:00:12.795302341Z", "Path": "bash", "Args": [ "bash" ], "State": { "OciVersion": "1.0.2-dev", "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 6881, "ConmonPid": 6878, "ExitCode": 0, "Error": "", "StartedAt": "2021-11-28T07:00:13.551753552Z", "FinishedAt": "0001-01-01T00:00:00Z", "Healthcheck": { "Status": "", "FailingStreak": 0, "Log": null } },
Untuk memeriksa log kontainer, jalankan perintah berikut:
podman logs f85c4df5ab78
Jika Anda ingin terhubung ke container yang sedang berjalan, jalankan perintah berikut:
podman exec -it f85c4df5ab78 /bin/bash
Anda akan masuk ke shell container seperti gambar di bawah ini:
[email protected]:/#
Untuk keluar dari shell container, jalankan perintah berikut:
[email protected]:/# exit
Cara Menghentikan dan Menghapus Penampung
Anda juga dapat menggunakan Podman untuk memulai, menghentikan, dan menghapus container.
Untuk menghentikan container yang sedang berjalan, jalankan perintah berikut:
podman stop f85c4df5ab78
Anda sekarang dapat memverifikasi penampung yang dihentikan menggunakan perintah berikut:
podman ps -a
Anda akan melihat output berikut:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f85c4df5ab78 docker.io/library/debian:latest bash 3 minutes ago Exited (137) 10 seconds ago competent_cori
Untuk menghapus container yang dihentikan, jalankan perintah berikut:
podman rm f85c4df5ab78
Jika Anda ingin menghentikan container terbaru, jalankan perintah berikut:
podman stop --latest
Untuk memulai container terbaru, jalankan perintah berikut:
podman start --latest
Untuk menghapus container terbaru, jalankan perintah berikut:
podman rm --latest
Untuk menghapus semua container yang sedang berjalan, jalankan perintah berikut:
podman rm -f `podman ps -aq`
Untuk menghapus gambar, jalankan perintah berikut:
podman rmi 827e5611389a
Anda akan mendapatkan output berikut:
Untagged: docker.io/library/debian:latest Deleted: 827e5611389abf13dad1057e92f163b771febc0bcdb19fa2d634a7eb0641e0cc
Kesimpulan
Pada postingan di atas, kami menjelaskan cara menginstal dan menggunakan Podman di Debian 11. Sekarang Anda dapat menggunakan Podman sebagai pengganti Docker untuk menjalankan dan mengelola container.