GNU/Linux >> Belajar Linux >  >> Ubuntu

Tutorial Podman - Dasar-dasar untuk Pemula

Pendahuluan

Podman adalah mesin kontainer untuk menjalankan dan mengelola kontainer OCI di Linux. RedHat mengembangkannya sebagai alternatif langsung dari Docker, platform manajemen kontainer terkenal yang memulai semuanya.

Tutorial ini akan membantu Anda memahami cara kerja Podman dengan menjelaskan sintaks perintahnya, dan memberikan contoh nyata tentang cara menggunakan perintah Podman.

Prasyarat

  • Akses ke baris perintah/jendela terminal.
  • Podman diinstal dan dikonfigurasi (lihat Cara Menginstal Podman di macOS atau Cara Menginstal Podman di Ubuntu).

Perintah Podman

Podman memiliki sintaks perintah yang sangat mirip dengan Docker. podman utama perintah diikuti oleh perintah dan opsi manajemen Podman:

podman [command] [options]

Di bawah ini adalah tabel yang berisi semua perintah Podman:

Perintah Deskripsi
attach  Lampirkan ke container yang sedang berjalan menggunakan nama atau ID-nya.
auto-update Gunakan kebijakan pembaruan otomatis penampung untuk memperbarui penampung.
build  Gunakan petunjuk Containerfiles untuk membuat gambar.
commit  Buat gambar baru yang mencerminkan perubahan yang dibuat pada penampung.
container  Mengelola wadah Podman.
cp  Menyalin file/direktori dari wadah ke sistem file lokal dan sebaliknya.
create  Buat wadah tanpa memulainya.
diff  Menampilkan perubahan yang dibuat pada wadah atau gambar.
events  Tampilkan acara podman.
exec  Jalankan proses di dalam container yang sedang berjalan.
export  Buat arsip tar yang berisi konten sistem file container.
generate  Buat keluaran terstruktur berdasarkan wadah, volume, atau pod.
healthcheck  Kelola pemeriksaan kesehatan penampung.
history  Tampilkan riwayat gambar.
image  Kelola gambar.
image  Mencantumkan gambar yang tersedia di penyimpanan lokal.
import  Impor tarball gambar sistem file.
info  Tampilkan info sistem podman.
init  Inisialisasi container.
inspect  Tampilkan container atau konfigurasi gambar.
kill  Bunuh wadah.
load  Muat gambar yang tersedia di arsip penampung.
login  Login registri penampung.
logout  Keluar dari registri penampung.
logs  Melihat log penampung.
machine  Mengelola VM Podman.
manifest  Membuat dan mengelola daftar manifes dan indeks gambar.
mount  Pasang sistem file root dari wadah atau daftar wadah yang saat ini dipasang.
network  Mengelola jaringan Podman.
pause  Jeda proses penampung.
play  Mainkan wadah, volume, atau pod.
pod  Mengelola pod Podman.
port Mencantumkan pemetaan port atau membuat daftar pemetaan khusus container untuk container.
ps  Mencantumkan container yang sedang berjalan.
pull  Menyalin gambar dari registri ke penyimpanan lokal.
push  Dorong gambar dari mesin lokal ke tujuan yang ditentukan.
rename  Ganti nama wadah.
restart  Mulai ulang penampung.
rm  Hapus penampung.
rmi  Hapus gambar dari penyimpanan lokal.
run  Jalankan perintah dalam wadah.
save  Simpan gambar ke file lokal.
search  Cari gambar di registri.
secret  Manipulasi rahasia.
start  Memulai penampung.
stats  Menampilkan statistik penggunaan sumber daya.
stop  Hentikan penampung.
system  Mengelola sistem Podman.
tag  Tetapkan nama untuk gambar lokal.
top  Tampilkan proses yang berjalan dalam wadah.
unmount  Lepaskan sistem berkas root dari sebuah wadah.
unpause  Membatalkan jeda proses penampung.
unshare  Luncurkan proses di ruang nama pengguna baru.
untag  Hapus tag dari gambar lokal.
version  Melihat informasi versi.
volume  Mengelola volume penampung.
wait  Tunggu wadah berhenti.

Tutorial Podman

Meskipun Podman pada dasarnya adalah mesin kontainer - dirancang untuk membuat dan menjalankan kontainer OCI, pengguna juga dapat menggunakan podman perintah untuk mengelola gambar kontainer.

Bagian berikut menjelaskan cara menggunakan Podman untuk membuat dan memanipulasi gambar, wadah, dan pod.

Melihat Manual Bantuan Podman

Anda dapat mereferensikan dokumentasi Podman dengan cepat menggunakan baris perintah. Untuk melihat podman . yang tersedia perintah di terminal Anda, ketik:

podman help

Untuk melihat manual Podman lengkap, gunakan perintah man:

Gambar Podman

Pembuatan dan pengelolaan gambar di Podman dilakukan dengan Buildah, alat pembuatan gambar yang menggunakan antarmuka coreutils tingkat rendah. Saat pengguna menjalankan podman perintah yang terkait dengan gambar, Podman memanggil Buildah untuk melakukan tindakan.

Bagian berikut menunjukkan beberapa perintah manajemen gambar yang penting.

Menelusuri Gambar

Cari registry untuk gambar yang tersedia menggunakan search memerintah.

podman search [search-term]

Batasi jumlah hasil dengan --limit pilihan. Misalnya, untuk menghasilkan tiga hasil untuk "sento" istilah pencarian, ketik:

podman search --limit 3 centos

Periksa Gambar

Sebelum menarik gambar Podman, adalah praktik yang baik untuk memeriksanya. Gunakan podman inspect perintah dan sistem mengeluarkan metadata gambar, seperti ukuran file, arsitektur, OS, dll.

podman inspect [repository or image ID]

Gunakan --format opsi dengan podman inspect perintah untuk mendapatkan metadata tertentu. Pada contoh di bawah, perintah hanya mengembalikan deskripsi gambar:

podman inspect --format=’{{.Labels.description}}’ [image ID]

Mengunduh Gambar

Menarik gambar dari repositori online dilakukan menggunakan podman pull memerintah. Sintaksnya adalah:

podman pull [registry/image]

Contoh mengilustrasikan pengambilan gambar dari fedoraproject.org registri:

Menjalankan Gambar

Jalankan gambar Podman dengan podman run :

podman run [image]

Jika gambar tidak tersedia secara lokal, Podman menariknya dari registri online dan kemudian menjalankannya sebagai wadah.

Melihat Gambar

podman images sub-perintah digunakan untuk membuat daftar gambar yang tersedia secara lokal:

podman images

Gunakan opsi untuk mempersempit hasil pencarian. --filter opsi menyaring output berdasarkan kondisi yang Anda berikan. Misalnya, perintah berikut mencari semua gambar yang mengandung "redhat" atas nama:

podman images --filter reference=redhat

Membuat Gambar Kustom

Untuk membuat gambar kustom dengan Podman, Anda memerlukan file docker atau file container. File-file ini berisi instruksi yang digunakan alat Buildah untuk membuat gambar.

Membangun file dilakukan dengan podman build memerintah. Misalnya, untuk membuat gambar dari direktori yang berisi skrip instruksi, jalankan perintah berikut:

podman build .

Buildah mengumpulkan konteks file yang diperlukan dan membuat gambar.

Menghapus Gambar

podman rmi perintah digunakan untuk menghapus gambar dari penyimpanan lokal. Sebelum menghapus gambar Podman, pastikan semua wadah terkait telah dihentikan dan dihapus.

Hapus gambar dengan menggunakan podman rmi perintah diikuti dengan nama gambar atau ID:

podman rmi [image-name-or-id]

Keluaran mengonfirmasi bahwa gambar telah dihapus.

Wadah Podman

Membuat dan mengelola container adalah fungsi utama Podman. Temukan beberapa perintah pengelolaan container yang paling umum di bagian di bawah ini.

Menjalankan Kontainer

podman run perintah memiliki fungsi yang sama dengan docker run. Opsi yang mengikuti perintah bergantung pada jenis wadah yang dijalankan. Contoh di bawah mengilustrasikan menjalankan httpd misalnya, menggunakan gambar yang tersedia di docker.io penyimpanan:

podman run -p 8080:80/tcp docker.io/library/httpd

Perintah menjalankan container dan menampilkan command promptnya.

Keluar dari prompt penampung dengan menekan Ctrl + C . Perintah ini akan keluar dari container.

Menjalankan Kontainer di Latar Belakang

Untuk melewati prompt container dan menjalankan container di latar belakang, gunakan sintaks berikut:

podman run -dt -p 8080:80/tcp docker.io/library/httpd

Jika container berhasil dimulai, output dari perintah akan menampilkan ID panjang container.

Memasang ke Wadah

Masukkan wadah dengan podman attach perintah:

podman attach [container-name-or-id]

Contoh menunjukkan melampirkan ke wadah Alpine Linux yang sedang berjalan menggunakan ID wadah.

Melihat Menjalankan Container

Lihat penampung yang sedang berjalan dengan ps perintah:

podman ps

Keluaran perintah menunjukkan daftar yang berisi informasi dasar tentang menjalankan container.

Otomatis Menghapus Kontainer Setelah Menutup

Gunakan --rm opsi dengan podman run untuk menghapus penampung secara otomatis:

podman run --rm -dt -p 8080:80/tcp alpine:latest

Memulai dan Menghentikan Kontainer

Gunakan start dan stop perintah untuk memulai dan menghentikan container yang ada.

podman start [container-id]

Keluaran menunjukkan ID penampung.

podman stop [container-id]

ID penampung yang dihentikan akan ditampilkan.

Menetapkan Nama ke Wadah

Anda dapat memberi nama container yang sedang berjalan menggunakan opsi --name dengan podman run memerintah. Misalnya, untuk memberi nama wadah Alpine Linux, gunakan perintah berikut:

podman run --name AlpineTest -dt -p 8080:80/tcp alpine:latest

Gambar di bawah ini menunjukkan bahwa podman run berhasil. Podman ps daftar perintah yang menjalankan wadah Podman, dan namanya terlihat di NAMES kolom.

Melihat Log Kontainer

Tampilkan log kontainer pada saat eksekusi dengan podman logs perintah.

podman logs [container-name-or-id]

Gunakan -l tandai untuk menampilkan log untuk wadah terbaru.

Menghapus Kontainer

Untuk menghapus container Podman, pastikan terlebih dahulu container tersebut telah dihentikan. Kemudian, gunakan podman rm perintah diikuti dengan nama atau ID container.

podman rm [container-name-or-id]

Contoh di bawah ini menunjukkan penghapusan AlpineTest wadah.

Untuk menghapus penampung yang berjalan atau tidak dapat digunakan, tambahkan -f pilihan.

podman rm -f [container-name-or-id]

Untuk menghapus beberapa container sekaligus, buat daftar ID container yang dipisahkan dengan spasi:

podman rm [container-1-id container-2-id container-3-id]

Podman Pod

Pod adalah grup container yang berbagi resource. Podman Pod adalah fitur yang membedakan Podman dengan Docker. Bagian selanjutnya mengilustrasikan beberapa operasi pod yang umum di Podman.

Mencantumkan Pod

Gunakan perintah di bawah ini untuk membuat daftar semua pod yang tersedia di sistem:

podman pod ls

Daftar tersebut menunjukkan ID pod, nama, status, waktu pembuatan, ID infra, dan jumlah kontainer yang dikandungnya.

Membuat Pod Kosong

Buat pod kosong di Podman menggunakan sintaks berikut:

podman pod create

Outputnya menunjukkan ID dari pod yang baru dibuat.

Menambahkan Kontainer ke Pod

Untuk menambahkan wadah ke pod, gunakan --pod label dengan docker run :

podman run [options] --pod [pod-name-or-id] [image]

Pada contoh di bawah ini, container Alpine Linux diberikan ke pod dengan ID e06ed089b454 :

Membuat Pod dengan Container

Podman dapat membuat container dan menambahkannya ke pod baru dalam satu podman run memerintah. Sintaksnya mencakup --pod label:

podman run [options] --pod new:[pod-name] [image]

Contoh di bawah menjalankan container dengan alpine:latest image dan menambahkannya ke pod baru bernama AlpineTest :

podman pod ls keluaran perintah menunjukkan pod baru dengan dua kontainer.

Memulai, Menghentikan, dan Menghapus Pod

Mulai pod menggunakan perintah berikut:

podman pod start [pod-name-or-id]

Untuk menghentikan pod, jalankan:

podman pod stop [pod-name-or-id]

Untuk menghapus pod yang dihentikan dan wadahnya, gunakan:

podman pod rm [pod-name-or-id]

Untuk menghentikan dan menghapus container yang sedang berjalan lalu mengeluarkan pod, gunakan -f pilihan:

podman pod rm -f [pod-name-or-id]

Untuk menghapus beberapa Pod yang dihentikan dengan satu perintah, buat daftar ID Pod yang dipisahkan dengan spasi:

podman pod rm -f [pod1-id pod2-id pod3-id]

Podensi Masalah Podman dan Cara Mengatasinya

Bagian ini mencantumkan beberapa masalah umum Podman dan memberikan solusi.

Tidak Dapat Mengekspos Port yang Diistimewakan

Podman memungkinkan pengguna non-root untuk menjalankan container. Namun, mereka terbatas untuk meneruskan hanya ke port yang tidak memiliki hak istimewa. Jika Anda mencoba meneruskan ke port yang diistimewakan sebagai pengguna non-root, Anda akan menerima kesalahan berikut:

Solusi untuk masalah ini adalah memilih port yang tidak memiliki hak istimewa atau menjalankan perintah menggunakan sudo.

Masalah pencarian podman

Masalah umum lainnya adalah podman search perintah mengembalikan output kosong.

Masalah ini biasanya terkait dengan /etc/containers/registries.conf mengajukan. Buka file dalam editor teks:

sudo nano /etc/containers/registries.conf

Gulir ke bagian bawah file dan pastikan Podman memiliki pendaftar untuk dicari.

Jika Anda tidak memiliki registry yang terdaftar dalam file, Anda dapat menambahkan registry yang umum, seperti RedHat, Fedora, dan Docker, dengan menggunakan sintaks berikut:

unqualified-search-registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]

Simpan file. podman search daftar harus diisi dengan hasil dari pendaftar online yang terdaftar.

Kesalahan:konfigurasi yang disediakan tidak valid

Saat menambahkan kontainer ke pod, pesan berikut mungkin muncul:

Error: invalid config provided: published or exposed ports must be defined when the pod is created: network cannot be configured when it is shared with a pod

Masalah ini terjadi saat Anda mencoba menambahkan wadah dengan port yang tidak ditentukan pada pembuatan pod. Saat ini, Podman tidak mengizinkan ini.


Ubuntu
  1. Tutorial Python SciPy - Panduan untuk Pemula

  2. Tutorial perintah cd Linux untuk pemula (8 Contoh)

  3. Tutorial Perintah Tanggal Linux untuk Pemula (8 Contoh)

  1. Tutorial Jenkins:Dasar-dasar untuk Pemula

  2. Tutorial konfigurasi jaringan Netplan untuk pemula

  3. Tutorial perintah comm Linux untuk pemula (5 contoh)

  1. Tutorial Perintah Linux df untuk Pemula (8 Contoh)

  2. Tutorial Perintah Linux du untuk Pemula (10 Contoh)

  3. Tutorial Perintah gema Linux untuk Pemula (5 Contoh)