Salah satu perintah Docker pertama yang Anda gunakan adalah docker ps memerintah. Ini menunjukkan container yang sedang berjalan:
docker ps Sebenarnya, menjalankan perintah ini memberi Anda daftar container yang sedang berjalan dan ID container uniknya, nama gambar, perintah yang dijalankan, waktu sejak dijalankan (waktu aktif), dan port yang digunakan.
Tetapi Anda dapat melakukan sedikit lebih banyak dengannya. Anda dapat menampilkan penampung yang dihentikan, memfilter hasilnya, atau hanya menampilkan ID penampung.
Mari kita lihat lebih detail perintah Docker yang penting ini.
Perintah docker ps
Docker memiliki alias untuk menampilkan semua container yang berjalan dengan konvensi penamaan ramah POSIX.
Itu adalah ps sub-perintah di Docker. Ini adalah alias dari docker container ls . Yang, seperti yang bisa Anda tebak, digunakan untuk membuat daftar kontainer buruh pelabuhan.
Berikut adalah contoh menjalankan docker ps di komputer saya:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58c7013a49c3 nextcloud "/entrypoint.sh apac…" 32 seconds ago Up 31 seconds 0.0.0.0:8010->80/tcp, :::8010->80/tcp nextcloud_server
140161b8b139 mariadb "docker-entrypoint.s…" 34 seconds ago Up 32 seconds 3306/tcp nextcloud_db
73a6901a4846 lscr.io/linuxserver/transmission "/init" 17 minutes ago Exited (137) 9 minutes ago transmission_web Seperti yang Anda lihat, perintah ini menampilkan detail tentang semua container yang sedang berjalan.
Detail yang ditampilkan adalah ID unik container, nama gambar, perintah yang dijalankan container, tanggal pembuatan container, waktu aktif, port yang dipetakan, dan nama container.
Sebagai sysadmin, Anda akan sering menggunakan perintah ini dalam sebuah skrip. Docker menyediakan beberapa opsi yang dapat membantu saat Anda menjalankan docker ps dalam naskah.
Tampilkan semua container (bukan hanya container yang sedang berjalan)
Sebagai ps UNIX perintah digunakan untuk menunjukkan proses (program yang sedang dieksekusi), Docker berperilaku serupa.
Menjalankan docker ps hanya akan menampilkan wadah buruh pelabuhan yang aktif.
Jika Anda menghentikan container yang sedang berjalan, container tersebut masih ada, hanya saja container tersebut tidak lagi berjalan.
Untuk melihat container yang dalam keadaan berhenti, gunakan --all (atau -a ) opsi seperti ini:
docker ps --all
Saya menghentikan penampung transmission_web . Mari kita lihat apa yang saya dapatkan di output.
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58c7013a49c3 nextcloud "/entrypoint.sh apac…" 32 seconds ago Up 31 seconds 0.0.0.0:8010->80/tcp, :::8010->80/tcp nextcloud_server
140161b8b139 mariadb "docker-entrypoint.s…" 34 seconds ago Up 32 seconds 3306/tcp nextcloud_db
73a6901a4846 lscr.io/linuxserver/transmission "/init" 17 minutes ago Exited (137) 9 minutes ago transmission_web
Seperti yang Anda lihat, -a opsi juga menunjukkan wadah yang dihentikan.
Filter output docker ps untuk hasil yang lebih akurat
docker ps perintah memiliki opsi yang sangat berguna, --filter (atau -f singkatnya).
Seperti yang terlihat dari nama opsi, Anda dapat memfilter wadah menggunakan bidang berikut:
idnamelabelexitedstatusancestorsincevolumepublishhealthisolation
Saya telah membuat wadah yang diberi nama nextcloud_server . Saya ingin melihat detail tentang container, tetapi hanya container dengan nama yang saya cari. Mari kita lihat cara menggunakan name filter.
$ docker ps --filter "name=nextcloud_server"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58c7013a49c3 nextcloud "/entrypoint.sh apac…" 3 hours ago Up 3 hours 0.0.0.0:8010->80/tcp, :::8010->80/tcp nextcloud_server
Saya menjalankan beberapa wadah, tetapi meneruskan menggunakan name filter hanya menunjukkan wadah yang cocok dengan namanya.
Mari kita coba menggunakan id Saring. Saya memiliki wadah MariaDB dengan ID "140161b8b139". Saya akan menggunakan perintah berikut untuk mencapainya.
$ docker ps --filter "id=140161b8b139"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
140161b8b139 mariadb "docker-entrypoint.s…" 15 hours ago Up 15 hours 3306/tcp nextcloud_db Mudah! Saya mendapatkan wadah dengan ID yang cocok.
Tampilkan container sesuai urutan pembuatannya
Ya, Anda dapat membuat daftar kontainer yang diurutkan berdasarkan tanggal pembuatannya menggunakan --latest (atau l singkatnya).
Urutan terbaru di atas dan terlama di bawah.
Berikut adalah contoh output dari menjalankan perintah docker ps --latest di komputer saya:
$ docker ps --latest
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58c7013a49c3 nextcloud "/entrypoint.sh apac…" 15 hours ago Up 15 hours 0.0.0.0:8010->80/tcp, :::8010->80/tcp nextcloud_server
73a6901a4846 lscr.io/linuxserver/transmission "/init" 16 hours ago Exited (137) 16 hours ago transmission_web Ada beberapa gotcha dengan perintah ini.
- Kontainer apa pun yang digunakan sebagai "dependensi" tidak akan dicantumkan
- Outputnya mencakup semua status container (artinya container yang dihentikan pun akan dicantumkan)
Saya telah membuat wadah "nextcloud_server" dengan MariaDB sebagai "ketergantungannya." Sehingga container tersebut tidak terdaftar pada output saat menggunakan --latest bendera.
Membuat banyak skrip? Hanya tampilkan ID penampung
Asumsikan Anda sedang menulis skrip dan hanya ingin menangani ID Penampung sehingga Anda dapat melakukan tindakan pada penampung. Untuk itu, Anda dapat menggunakan --quiet (atau -q singkatnya) opsi.
Diberikan di bawah ini adalah output dari menjalankan docker ps -q di komputer saya.
$ docker ps -q
58c7013a49c3
140161b8b139 Seperti yang Anda lihat, output hanya terdiri dari ID Penampung (dari penampung yang sedang berjalan) dan tidak ada yang lain.
Seperti yang Anda lihat, ada lebih banyak perintah Docker ps daripada hanya menampilkan informasi container yang sedang berjalan. Beri tahu saya jika Anda mempelajari sesuatu yang baru atau jika Anda mengetahui beberapa contoh berguna lainnya dari docker ps perintah.