Bagaimana Anda membuat daftar semua kontainer buruh pelabuhan yang ada di sistem Anda?
Ada dua cara untuk melakukannya:
- Menggunakan
docker ps
perintah (metode lama dan populer) - Menggunakan
docker container
perintah (metode yang lebih baru dan kurang dikenal)
Biarkan saya dengan cepat membuat daftar perintah dengan contoh paling umum untuk referensi cepat Anda.
perintah ps | perintah kontainer | Tampilan perintah |
---|---|---|
docker ps | kontainer buruh pelabuhan ls | menjalankan container |
docker ps -a | kontainer buruh pelabuhan ls -a | semua kontainer |
docker ps -f "status=exited" | kontainer buruh pelabuhan ls -f "status=exited" | kontainer berhenti |
docker ps -q | kontainer buruh pelabuhan ls -q | ID container yang sedang berjalan |
docker ps -l | kontainer buruh pelabuhan ls -l | kontainer terbaru yang dibuat |
Seperti yang Anda lihat, keduanya ps
dan container
perintah identik dengan opsi mereka.
Namun, karena buruh pelabuhan ingin mengatur perintah dengan benar, mereka merekomendasikan penggunaan docker container ls
memerintah.
Untuk alasan ini, saya akan menggunakan docker container ls
perintah dalam contoh rinci.
Tampilkan container buruh pelabuhan yang sedang berjalan
Tanpa opsi apa pun, Anda hanya akan melihat container yang sedang berjalan.
docker container ls
Outputnya adalah detail:
[email protected]:~$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f03e48cb07ea ubuntu "bash" 8 seconds ago Up 6 seconds ubuntu-c-1
93f84eb0f579 alpine "/bin/sh" 23 seconds ago Up 22 seconds alp_con2
Jika ini pertama kalinya Anda melihat keluaran ini, izinkan saya menjelaskan berbagai elemen keluaran:
Container ID
- ID numerik unik untuk mengidentifikasi wadahImage
- Gambar buruh pelabuhan yang membuat wadahCommand
- Perintah default yang dijalankan saat memulai wadahCreated
- Waktu relatif saat wadah dibuatStatus
- Status container (akan dijelaskan nanti)Ports
- Port container yang dipublikasikanName
- Nama wadah. Jika tidak ada yang diberikan, nama acak tetap diberikan.
Mencantumkan semua container buruh pelabuhan
Jika Anda ingin melihat semua container di sistem Anda, gunakan opsi -a
.
docker container ls -a
Berikut adalah contoh keluaran dan Anda dapat melihatnya sekarang menunjukkan beberapa wadah yang dihentikan juga.
[email protected]:~$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f03e48cb07ea ubuntu "bash" 37 minutes ago Up 37 minutes ubuntu-c-1
93f84eb0f579 alpine "/bin/sh" 37 minutes ago Up 37 minutes alp_con2
1c1c04a84186 alpine "bash" 38 minutes ago Created alp_con
6fbc4bf4897b ubuntu "/bin/bash" 2 hours ago Exited (0) 2 hours ago fervent_hofstadter
8b9565ba7661 alpine "/bin/sh" 2 hours ago Exited (0) 2 hours ago beautiful_williamson
853e748608bc hello-world "/hello" 2 hours ago Exited (0) 2 hours ago stoic_engelbart
Hanya tampilkan wadah yang dihentikan
Jika Anda hanya ingin membuat daftar wadah yang dihentikan, Anda dapat memfilter output pada exited
status.
docker container ls --filter "status=exited"
Inilah keluaran yang difilter:
[email protected]:~$ docker container ls --filter "status=exited"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6fbc4bf4897b ubuntu "/bin/bash" 2 hours ago Exited (0) 2 hours ago fervent_hofstadter
8b9565ba7661 alpine "/bin/sh" 2 hours ago Exited (0) 2 hours ago beautiful_williamson
853e748608bc hello-world "/hello" 2 hours ago Exited (0) 2 hours ago stoic_engelbart
exited
status adalah untuk wadah yang dihentikan. Ada beberapa status lagi untuk penampung yang dapat Anda gunakan untuk tujuan yang berbeda:
created
- Wadah yang telah dibuat tetapi belum dimulairestarting
- Wadah dalam proses dimulai ulangrunning
- Wadah berjalanpaused
- Wadah yang prosesnya telah dijedaexited
- Wadah berhentidead
- Wadah yang dicoba dihentikan tetapi gagal
Sebenarnya, pemfilteran tidak terbatas pada status, Anda dapat memfilter berdasarkan elemen lain dari keluaran daftar penampung seperti id penampung, nama, atau gambar. Contoh berikutnya menggunakan konsep ini.
Tampilkan wadah yang terkait dengan gambar
Anda dapat menggunakan filter untuk menampilkan semua wadah yang terkait dengan gambar tertentu hanya menggunakan ancestor
filter.
docker container ls -a --filter "ancestor=image_name"
Berikut adalah output yang menampilkan semua container yang terkait dengan image buruh pelabuhan Alpine Linux.
[email protected]:~$ docker container ls -a --filter "ancestor=alpine"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
93f84eb0f579 alpine "/bin/sh" 48 minutes ago Up 48 minutes alp_con2
1c1c04a84186 alpine "bash" 49 minutes ago Created alp_con
8b9565ba7661 alpine "/bin/sh" 2 hours ago Exited (0) 2 hours ago beautiful_williamson
Hanya tampilkan id penampung
Apakah Anda memperhatikan bahwa semua perintah di atas memiliki keluaran rinci pada wadah?
Jika Anda tidak memerlukan informasi tambahan seperti nama wadah, gambar terkait, statusnya, Anda dapat menggunakan opsi diam -q
.
Misalnya, jika saya menggunakan -q
opsi pada contoh sebelumnya, ini hanya memberi saya ID dari semua wadah yang terkait dengan Alpine Linux.
[email protected]:~$ docker container ls -a -q --filter "ancestor=alpine"
93f84eb0f579
1c1c04a84186
8b9565ba7661
Ini berguna dalam situasi seperti menghapus semua wadah gambar buruh pelabuhan.
Nah, cukup sekian tutorial buruh pelabuhan kali ini. Saya pikir saya telah menyebutkan cukup banyak kasus penggunaan untuk membuat daftar wadah di buruh pelabuhan. Tetap berlangganan untuk lebih banyak tutorial seperti itu.