GNU/Linux >> Belajar Linux >  >> Linux

Contoh yang Berguna dari Perintah Docker ps

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:

  • id
  • name
  • label
  • exited
  • status
  • ancestor
  • since
  • volume
  • publish
  • health
  • isolation

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.


Linux
  1. 12 Contoh Perintah Wget yang Berguna di Linux

  2. ls Perintah di Linux:17 Contoh yang Berguna Dijelaskan

  3. Cara Menggunakan Perintah id di Linux:5 Contoh Berguna

  1. 9 Contoh Perintah Split yang Berguna di Linux

  2. 5 Contoh Praktis Perintah dd di Linux

  3. 5 Contoh Berguna dari perintah firewall-cmd

  1. 20 Contoh Perintah Docker yang Berguna di Linux

  2. 14 Contoh Perintah 'ls' yang Berguna di Linux

  3. 9 Contoh perintah sentuh yang berguna di Linux