Tutorial ini menjelaskan cara memulai Podman di sistem operasi Linux. Di akhir tutorial Podman ini, Anda akan mempelajari dasar-dasar Podman, seperti cara mencari dan mengunduh gambar, membuat wadah baru dari gambar, menjalankan wadah, menghapus wadah, dan membuat gambar Anda sendiri dari wadah dan banyak lagi.
Sebelum kita mulai menggunakan Podman, pastikan Anda telah menginstal Podman di mesin Linux Anda.
- Apa Itu Podman Dan Cara Menginstal Podman Di Linux
Mulai Menggunakan Podman
Podman menyediakan antarmuka baris perintah (CLI) yang mirip dengan Docker mesin kontainer. Faktanya, Podman bertujuan untuk menjadi pengganti drop-in untuk klien buruh pelabuhan yang disediakan oleh Docker.
Perintah Podman dan Docker hampir sama. Anda cukup mengganti docker
dengan podman
di sebagian besar perintah buruh pelabuhan. Misalnya, docker run
perintah menjadi podman run
dan docker build
menjadi podman build
dan seterusnya.
Anda bahkan dapat membuat docker
alias untuk podman
seperti di bawah ini:
$ alias buruh pelabuhan=podman
Mulai sekarang, Anda dapat menggunakan keduanya docker
dan podman
perintah secara bersamaan. Misalnya, jika Anda menjalankan docker
ps, secara otomatis akan mengeksekusi podman
perintah ps. Transisi dari Docker ke Podman menjadi jauh lebih mudah!
1. Mendapatkan bantuan Podman
Hal pertama yang mungkin ingin Anda lakukan setelah menginstal aplikasi apa pun adalah melihat ke bagian bantuan mereka.
Untuk melihat manual bantuan Podman bersama dengan ist dari sub-perintah dan opsi umum yang tersedia, jalankan:
$ podman --help
Untuk mempelajari penggunaan sub-perintah apa pun, misalnya attach
, cukup lakukan:
$ podman lampirkan --help
2. Telusuri gambar
Untungnya, gambar yang dibuat oleh Docker dan Podman kompatibel dengan standar OCI. Jadi Podman dapat mendorong dan menarik gambar dari pendaftar penampung seperti Docker Hub dan Quay.io .
Mari kita cari gambar Alpine Linux menggunakan perintah:
$ pencarian podman alpine
Seperti yang Anda lihat, Podman mencantumkan gambar Alpine dari hub Docker dan Quay.
Saat mengunduh gambar, Anda dapat memilih dari mana Anda ingin mendapatkannya.
Demikian pula, Anda dapat mencari gambar berdasarkan Arch Linux seperti di bawah ini:
$ podman search archlinux
Hub Docker dan Quay memiliki banyak jenis gambar yang berbeda. Baik itu aplikasi, atau sistem operasi, Anda akan menemukan image container yang dibuat sebelumnya dari registry ini.
3. Unduh gambar
Untuk tujuan panduan ini, saya akan mengunduh Redhat 8 Universal base image (UBI).
Untuk mengunduh gambar Redhat dengan Podman, jalankan:
$ podman tarik redhat/ubi8
Anda akan diminta untuk memilih penampung registri untuk mengunduh. Saya memilih hub Docker. Anda akan melihat panah kecil di depan registri yang dipilih.
? Silakan pilih gambar:registry.fedoraproject.org/redhat/ubi8:registri terbaru.access.redhat.com/redhat/ubi8:latest docker.io/redhat/ubi8:latest quay.io/redhat/ubi8:latestGambar kontainer akan diunduh dari registri yang dipilih.
✔ docker.io/redhat/ubi8:latestMencoba menarik docker.io/redhat/ubi8:latest...Mendapatkan tanda tangan sumber gambar Menyalin gumpalan a50df8fd88fe selesai Menyalin gumpalan 1cadda38f72d selesai Menyalin config 0ced1c7c9b selesai Menulis manifes ke tujuan gambarMenyimpan tanda tangan 0ced1c98becfac67017dbb94cfac007b89951079b201c pra> Anda dapat mengunduh dan menjalankan berbagai jenis gambar terlepas dari jenis distribusi yang Anda gunakan. Misalnya, Anda dapat mengunduh dan menggunakan gambar Alpine di host Fedora dan sebaliknya.
$ podman tarik alpine
Anda bahkan dapat mengunduh versi gambar tertentu. Perintah berikut mengunduh gambar Ubuntu versi 20.04:
$ podman tarik ubuntu:20.04Karena kami menggunakan Podman sebagai pengguna non-root, semua gambar kontainer disimpan di bawah direktori home pengguna, yaitu
$HOME/.local/share/containers/storage
, alih-alih/var/lib/containers
.$ ls ~/.local/share/containers/storage/ cache libpod mount overlay overlay-containers overlay-images overlay-layers storage.lock tmp userns.lock4. Lihat gambar
Untuk melihat daftar gambar yang diunduh secara lokal, jalankan:
$ gambar podman
Contoh keluaran:
TAG REPOSITORY ID GAMBAR DIBUAT SIZEdocker.io/library/ubuntu 20.04 1318b700e415 7 hari yang lalu 75.2 MBdocker.io/redhat/ubi8 terbaru 0ced1c7c9b23 13 hari yang lalu 234 MBdocker.io/library/alpine d4ff818577bc terbaru 5.87bc 6 minggu lalu pra>Seperti yang Anda lihat, output di atas mencantumkan nama repositori tempat kami mengunduh gambar, tag gambar, id gambar, kapan gambar dibuat dan ukuran gambar.
Bagi mereka yang bertanya-tanya, TAG mengacu pada snapshot tertentu dari gambar Ubuntu (Misalnya 20,04 dan terbaru). TAG hanyalah nama tambahan untuk gambar lokal. ID GAMBAR (Misalnya 1318b700e415 ) adalah pengidentifikasi unik gambar Ubuntu.
5. Jalankan container
Wadah dapat dimulai baik menggunakan tag gambar atau id gambar.
Mari kita mulai wadah baru dengan gambar Redhat UBI menggunakan tag:
$ podman run -it ubi8:latestPerintah ini membuat wadah Redhat 8 menggunakan
ubi8:latest
image dan menghubungkan kontainer ke terminal sehingga Anda dapat berinteraksi dengannya.Di sini,
-i
: Memungkinkan kita membuat koneksi interaktif dengan mengambil standar di (STDIN) penampung.-t
:Menetapkan Terminal Pseudo baru di dalam kontainer Redhat 8.ubi8:latest
:Wadah Redhat 8 dengan TAG "terbaru".Setelah memulai penampung, Anda akan secara otomatis mendarat di cangkang Penampung (Command prompt):
Apakah Anda memperhatikan nomor
607a288c810d
pada keluaran di atas? Ini adalah ID Penampung.Perhatian: Harap perhatikan bahwa ID Penampung dan ID gambar Docker berbeda .
Anda dapat mulai bermain dengan Container Anda sekarang.
Untuk kembali ke Terminal host Anda tanpa keluar dari Penampung, tekan
CTRL+p
diikuti olehCTRL+q
.Sekarang Anda akan terlepas dari wadah dan dikembalikan ke konsol mesin host. Penampung akan tetap berjalan di latar belakang.
Untuk keluar dari wadah, cukup ketik
exit
dari konsol Penampung dan tekan tombol ENTER:# keluarPerintah ini akan mematikan Container yang sedang berjalan.
Jika ingin menjalankan container dengan IMAGE ID, cukup ganti image TAG (ubi8:latest) dengan image ID (0ced1c7c9b23) pada perintah sebelumnya:
$ podman run -it 0ced1c7c9b23Ini akan memulai wadah Redhat 8.
6. Jalankan container di latar belakang
Anda juga dapat menjalankan Kontainer di latar belakang terlepas.
Untuk menjalankan Wadah dalam mode terpisah, kami menggunakan
-d
bendera:$ podman run -it -d ubi8:latestSaat kita menjalankan Container dalam mode detached, Podman akan menampilkan ID Container dalam output standar.
a4846b2454b1eb63e6d532b0f7ef4a05ca19f965caf9cd0d4a2ce17131a05e29Mari kita verifikasi container yang sedang berjalan menggunakan perintah:
$ podman psSekarang Kontainer berjalan di latar belakang.
Anda dapat melampirkannya seperti yang dijelaskan di bagian berikut.
7. Pasang dan lepas dari wadah
Seperti yang dinyatakan di bagian sebelumnya, Anda dapat melepaskan dengan aman dari Container yang sedang berjalan dengan menekan
CTRL+p
diikuti olehCTRL+q
. Ini akan memungkinkan Anda kembali ke Terminal host.Untuk melampirkan ke Container lagi, pertama cari ID Container yang sedang berjalan atau namanya menggunakan
podman ps
perintah:$ podman psContoh keluaran:
PERINTAH GAMBAR ID PENAMPUNG DIBUAT NAMA PORT STATUS607a288c810d docker.io/redhat/ubi8:latest /bin/bash 2 jam yang lalu Naik 2 jam yang lalu cool_cannonDi sini,
607a288c810d
adalah ID Penampung.Dan kemudian cukup ketik
podman attach
perintah diikuti oleh ID Penampung seperti di bawah ini:$ podman lampirkan 607a288c810dAnda juga dapat melampirkannya menggunakan nama Wadah seperti di bawah ini:
$ podman pasang cool_cannonUntuk melepaskan dari Wadah, cukup tekan
CTRL+p
danCTRL+q
.8. Lihat container yang sedang berjalan
Untuk menemukan atau membuat daftar Container yang sedang berjalan, ketik:
$ podman psContoh keluaran:
PERINTAH GAMBAR ID PENAMPUNG NAMA PORT STATUS YANG DIBUAT SE783c0202b7d docker.io/library/alpine:latest /bin/sh 37 detik yang lalu Naik 38 detik yang lalu optimis_murdockIni hanya akan mencantumkan container yang sedang berjalan. Jika Anda ingin membuat daftar container yang sedang berjalan dan yang dihentikan, gunakan
-a
bendera.$ podman ps -aContoh keluaran:
PERINTAH GAMBAR ID PENAMPUNG NAMA PORT STATUS YANG DIBUAT56c20497cbcd docker.io/redhat/ubi8:latest /bin/bash 3 jam yang lalu Keluar (0) 3 jam yang lalu wizardly_albattanid23672b15cff docker.io/redhat/ubi8:latest /bin/bash 3 jam yang lalu Keluar (0) 3 jam yang lalu nifty_merkle89b2c038e1ba docker.io/redhat/ubi8:latest /bin/bash 3 jam yang lalu Keluar (0) 2 jam yang lalu xenodochial_euler607a288c810d docker.io/redhat/ubi8:latest /bin/bash 2 jam yang lalu Keluar (0) Sekitar satu menit yang lalu cool_cannone783c0202b7d docker.io/library/alpine:latest /bin/sh 43 detik yang lalu Naik 43 detik yang lalu optimis_murdock9. Hapus wadah secara otomatis setelah menutupnya
Anda mungkin ingin menguji sebuah Container dan cukup menghapusnya segera setelah Anda selesai dengan Container tersebut. Jika demikian, Anda dapat menghapus Wadah secara otomatis setelah menutupnya dengan menggunakan
--rm
bendera:$ podman run -it --rm ubi8:latestSetelah Anda keluar dari Penampung, itu akan dihapus secara otomatis.
10. Memulai dan menghentikan container
Seperti yang sudah dinyatakan, kita dapat membuat beberapa Wadah menggunakan gambar yang sama. Ini adalah salah satu keuntungan terbesar dari Container dibandingkan dengan mesin fisik atau virtual.
Untuk membuat beberapa Container baru, kita dapat menggunakan
podman run
perintah seperti yang dijelaskan dalam "5. Jalankan kontainer" bagian.Untuk memulai (menghidupkan) Container yang ada, kita cukup melakukan:
$ podman mulaiDemikian pula, kita dapat menghentikan (mematikan) perintah yang sedang berjalan dengan perintah:
$ podman berhentiMari saya tunjukkan sebuah contoh, sehingga Anda akan lebih mengerti.
Pertama, temukan daftar semua Kontainer:
$ podman ps -a PERINTAH GAMBAR ID KONTAINER DIBUAT PORT STATUS NAMA 56c20497cbcd docker.io/redhat/ubi8:latest /bin/bash 2 hari yang lalu Keluar (0) 2 hari yang lalu wizardly_albattani d23672b15cff docker.io/redhat/ubi8:latest /bin/bash 2 hari yang lalu Keluar (0) 2 hari yang lalu nifty_merkle 89b2c038e1ba docker.io/redhat/ubi8:latest /bin/bash 2 hari yang lalu Keluar (0) 2 hari yang lalu xenodochial_euler 607a288c810d docker.io/redhat/ubi8:latest /bin/bash 2 hari yang lalu Keluar (0) 2 hari yang lalu cool_cannon e783c0202b7d docker.io/library/alpine:latest /bin/sh 2 hari yang lalu Keluar (0) 2 hari yang lalu optimistic_murdockNama Kontainer ditampilkan di NAMES bagian (kolom terakhir) dari output di atas.
Saya akan memulai Wadah bernama
wizardly_albattani
menggunakan perintah:$ podman mulai wizardly_albattaniMari kita periksa apakah sudah dimulai:
$ podman ps CONTAINER ID IMAGE COMMAND NAMA PORT STATUS YANG DIBUAT56c20497cbcd docker.io/redhat/ubi8:latest /bin/bash 2 hari yang lalu Naik 7 detik yang lalu wizardly_albattaniYa, sudah terbit 7 detik yang lalu.
Untuk menghentikan Container, cukup lakukan:
$ podman berhenti wizardly_albattani11. Tetapkan nama ke wadah
Jika Anda melihat lebih dekat ke output dari perintah sebelumnya, Podman memberikan nama acak setiap kali Anda memulai sebuah wadah. Jika Anda tidak menamai Kontainer Anda, Podman akan menamainya untuk Anda secara otomatis.
Lihat tangkapan layar berikut. Saya telah memulai Wadah yang sama dengan gambar yang sama dua kali. Setelah saya keluar dari wadah dan memulai kembali untuk kedua kalinya, itu mendapat nama baru meskipun saya menggunakan gambar yang sama.
Wadah mendapat nama baru setiap kali kami menutup dan memulainya setiap kali.
Namun, Anda dapat menetapkan nama statis ke wadah dengan
--name
tandai seperti di bawah ini:$ podman run -it -d --name ostechnix_redhat ubi8:latestPerintah di atas akan membuat menjalankan Container baru dalam mode terpisah dan menamakannya sebagai
ostechnix_redhat
.Untuk melihat daftar Container yang sedang berjalan, kita lakukan:
$ podman ps
Contoh keluaran:
PERINTAH GAMBAR ID PENAMPUNG NAMA PORT STATUS YANG DIBUAT6fa78116dcb7 docker.io/redhat/ubi8:latest /bin/bash 4 detik yang lalu Naik 5 detik yang lalu ostechnix_redhatApakah Anda memperhatikan nama Kontainer? Kami telah memberikan nama khusus (yaitu
ostechnix_redhat
) ke Wadah.12. Buat gambar khusus
Podman tidak hanya untuk mengunduh dan menjalankan Kontainer dari Gambar yang telah dikonfigurasi sebelumnya. Anda juga dapat membuat gambar khusus dari gambar yang ada.
Pertama, mulai Container yang sudah ada atau jalankan yang baru.
Saya akan membuat wadah Ubuntu baru:
$ podman run -it 1318b700e415Sekarang Anda berada di dalam Container.
[dilindungi email]:/#Cukup instal, perbarui, atau hapus aplikasi apa pun di Wadah.
Untuk tujuan panduan ini, saya akan menginstal server web Apache:
[email protected]:/# apt update[email protected]:/# apt install apache2 -y[email protected]:/# service apache2 startSetelah selesai, lepaskan dari Penampung dan kembali ke terminal host dengan menekan
CTRL+p
danCTRL+q
.Harap perhatikan bahwa Kontainer masih berjalan di latar belakang!
Sekarang, buat Gambar dari Wadah yang ada menggunakan perintah:
$ podman komit b871b0fd5810 ostechnix/ubuntu_apacheDi sini,
b871b0fd5810
- ID penampung Ubuntu.ostechnix
– Nama pengguna yang membuat wadah.ubuntu_apache
– Nama gambar yang dibuat oleh pengguna ostechnix.Sekarang periksa apakah gambar baru dibuat dengan mencantumkan gambar yang tersedia:
$ gambar podmanContoh keluaran:
REPOSITORY TAG ID GAMBAR UKURAN YANG DIBUATlocalhost/ostechnix/ubuntu_apache terbaru 6c9b2fb66400 25 detik yang lalu 222 MB docker.io/library/ubuntu 20.04 1318b700e415 10 hari yang lalu 75,2 MBdocker.io/redhat/ubi8 terbaru 0ced1c7c9b23 2 minggu yang lalu 234 MBdocker.io/library/alpine terbaru d4ff818577bc 7 minggu yang lalu 5,87 MBSeperti yang Anda lihat pada output di atas, gambar baru bernama
ubuntu_apache
dibuat.Mari kita mulai Wadah baru dengan gambar ini:
$ podman run -it --rm --name Apache_webserver -p 8080:80 localhost/ostechnix/ubuntu_apacheDi sini, saya menjalankan Container dengan Image yang baru dibuat pada langkah sebelumnya. Saya juga memetakan port lokal
8080
pada sistem lokal ke port80
di dalam wadah.Setelah Wadah dimulai, pastikan server web Apache mulai menggunakan perintah:
[email protected]:/# service apache2 startSekarang, buka browser Anda di sistem host Anda dan navigasikan ke
http://localhost:8080
untuk memverifikasi apakah server web Apache berjalan di Container.13. Lihat log kontainer
Untuk melihat semua yang Anda lakukan di dalam Container, Anda cukup memeriksa log Container menggunakan perintah:
$ podman mencatat apache_webserver14. Hapus wadah
Pastikan Kontainer dihentikan:
$ podman berhenti ostechnix_redhatSetelah menghentikan Container, hapus dengan perintah:
$ podman rm ostechnix_redhatDemikian pula, hapus semua Kontainer satu per satu seperti yang ditunjukkan di atas.
Menghapus beberapa kontainer satu per satu bisa menjadi tugas yang membosankan jika Anda memiliki sejumlah besar Kontainer. Alih-alih menghapus satu demi satu, Anda dapat menghapus sekaligus. Hati-hati! Tidak ada cara untuk memulihkan Kontainer yang dihapus!
Untuk menghapus semua kontainer yang dihentikan sekaligus, jalankan saja:
$ pangkas wadah podmanKetik
"Y"
untuk mengonfirmasi dan tekanENTER
untuk menghapus wadah.PERINGATAN! Ini akan menghapus semua penampung yang tidak berjalan.Yakin ingin melanjutkan? [y/T] y 2124a1fbc85a6be7d516e747723129bd7bb9c39d3a54951c9a81407d30ded1ab54884f3375947026d4e87b99cb3a09e114c89120b101f5c8c1e614aca963975c56c20497cbcdd9599c2fa729277ecf679ac29f79a0b06af3ae1a135726465ba7607a288c810d2e605d9ba7590f8f7558ef5f96e87897a1cdde471ae9a74b36ad69bbd87b44cb6c9a582749f4ad010b6b273e65f9fe424058fdc0bc55b188d7e489b2c038e1baf6ac59f0da8e43a7efedc7ba73a18ed8d704c879ffdbc7eb7f28a4846b2454b1eb63e6d532b0f7ef4a05ca19f965caf9cd0d4a2ce17131a05e29aa14879baf0919323730539dd949231d5bb89ca4207dd36c02a741316e6d0f18b871b0fd5810f55e75bdd480d5fb34b09b0e293604f88896002a9368a607bf7ed23672b15cffc0a774227dc6b457a8bff5347073a112f6729d63ddf400f19dc7e783c0202b7d7a6664e731feeff4bdb57a79df79080046ed2b728df4bce789d2ebfd6210a6beedce43af0c41296e329d416128752ab603abd44c73117bf5dfd015. Hapus gambar
Anda dapat menghapus Gambar yang tidak lagi diperlukan!
Daftar semua gambar yang diunduh dengan perintah:
$ gambar podmanContoh keluaran:
TAG REPOSITORY ID GAMBAR DIBUAT UKURANlocalhost/ostechnix/ubuntu_apache terbaru 6c9b2fb66400 37 menit yang lalu 222 MBdocker.io/library/ubuntu 20.04 1318b700e415 10 hari yang lalu 75.2 MBdocker.io/redhat/ubi8 terbaru 0ced1c7c7c9b23 2 minggu yang lalu /alpine d4ff818577bc terbaru 7 minggu lalu 5,87 MBSekarang, hapus gambar baik menggunakan ID Gambar atau Nama, seperti di bawah ini:
$ podman rmi 6c9b2fb66400Contoh keluaran:
Tidak ditandai:localhost/ostechnix/ubuntu_Apache:latestDihapus:6c9b2fb66400138738ad12643d8461fbbb859f33d3be3c35181bb9ee9b11748dDemikian pula, hapus semua gambar lain yang tidak digunakan,
Perhatian: Anda tidak dapat menghapus Gambar yang sedang digunakan dengan menjalankan atau menghentikan Container.
Kesimpulan
Dalam tutorial Podman yang komprehensif ini, kami menyediakan 15 contoh praktis tentang cara memulai Podman di Linux. Jika Anda seorang developer, mempelajari Podman sangat penting untuk memajukan karir Anda. Pelajari cara menggunakan Podman secara menyeluruh. Ini sepadan dengan waktu Anda!
Cara Backup Dan Restore Data Menggunakan Restic Di Linux Streamlink – Utilitas baris Perintah Untuk Menonton Streaming Video Online Di Linux, Unix, dan WindowsLinux