GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Menghentikan Kontainer Docker

Tutorial buruh pelabuhan ini membahas metode untuk menghentikan satu wadah buruh pelabuhan, beberapa kontainer buruh pelabuhan, atau semua kontainer buruh pelabuhan yang berjalan sekaligus. Anda juga akan belajar menghentikan container buruh pelabuhan dengan anggun.

Untuk menghentikan wadah buruh pelabuhan, yang harus Anda lakukan adalah menggunakan ID wadah atau nama wadah dengan cara berikut:

docker stop container_ID_or_name

Anda juga dapat menggunakan perintah docker container stop container_id_or_name tapi itu adalah satu kata tambahan dalam perintah dan itu tidak memberikan manfaat tambahan, jadi tetap gunakan docker stop.

Namun ada lebih banyak lagi cara menghentikan container docker yang harus Anda ketahui, khususnya jika Anda seorang pemula Docker.

Contoh praktis untuk menghentikan wadah buruh pelabuhan

Saya akan membahas berbagai aspek seputar menghentikan wadah buruh pelabuhan dalam tutorial ini:

  • Hentikan wadah buruh pelabuhan
  • Hentikan beberapa kontainer buruh pelabuhan sekaligus
  • Hentikan semua kontainer buruh pelabuhan dengan gambar tertentu
  • Hentikan semua container buruh pelabuhan yang sedang berjalan sekaligus
  • Menghentikan kontainer buruh pelabuhan dengan anggun

Sebelum Anda melihatnya, Anda harus tahu cara mendapatkan nama atau ID penampung.

Anda dapat membuat daftar semua kontainer buruh pelabuhan yang berjalan dengan docker ps memerintah. Tanpa opsi apa pun, perintah docker ps hanya menampilkan container yang sedang berjalan.

[email protected]:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
1bcf775d8cc7        ubuntu              "bash"              8 minutes ago       Up About a minute                       container-2
94f92052f55f        debian              "bash"              10 minutes ago      Up 10 minutes                           container-1

Outputnya juga memberi Anda nama container dan ID container. Anda dapat menggunakan salah satu dari keduanya untuk menghentikan wadah.

Sekarang mari kita hentikan container.

1. Hentikan wadah buruh pelabuhan

Untuk menghentikan container tertentu, gunakan ID atau namanya dengan perintah docker stop:

docker stop container_name_or_ID

Outputnya seharusnya lebih deskriptif tetapi hanya menunjukkan nama atau ID wadah mana pun yang Anda berikan:

[email protected]:~$ docker stop 1bcf775d8cc7
1bcf775d8cc7

Anda dapat menggunakan perintah docker stop pada container yang sudah dihentikan. Itu tidak akan menimbulkan kesalahan atau keluaran yang berbeda.

Anda dapat memverifikasi jika wadah telah dihentikan dengan menggunakan perintah docker ps -a. Opsi -a menunjukkan semua container apakah sedang berjalan atau berhenti.

[email protected]:~$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
1bcf775d8cc7        ubuntu              "bash"              19 minutes ago      Exited (0) About a minute ago                       container-2
94f92052f55f        debian              "bash"              29 minutes ago      Up 29 minutes                                   container-1

Jika statusnya Exited, berarti container sudah tidak jalan lagi.

2. Hentikan beberapa kontainer buruh pelabuhan

Anda juga dapat menghentikan beberapa wadah buruh pelabuhan sekaligus. Anda hanya perlu memberikan nama dan ID penampung.

docker stop container_id_or_name_1 container_id_or_name_2 container_id_or_name_3

Seperti sebelumnya, output hanya akan menampilkan nama atau ID container:

[email protected]:~$ docker stop container-1 container-2 container-3
container-1
container-2
container-3

3. Hentikan semua wadah yang terkait dengan gambar

Sejauh ini apa yang Anda lihat menghentikan penampung dengan menyebutkan nama atau ID mereka secara eksplisit.

Bagaimana jika Anda ingin menghentikan semua container yang sedang berjalan dari image buruh pelabuhan tertentu? Bayangkan sebuah skenario di mana Anda ingin menghapus image buruh pelabuhan tetapi Anda harus menghentikan semua container yang sedang berjalan.

Anda dapat memberikan nama atau ID penampung satu per satu tetapi itu memakan waktu. Yang dapat Anda lakukan adalah memfilter semua container yang sedang berjalan berdasarkan gambar dasarnya.

Cukup ganti IMAGE_NAME dengan nama gambar buruh pelabuhan Anda dan Anda akan dapat menghentikan semua container yang sedang berjalan yang terkait dengan gambar tersebut.

docker ps -q --filter ancestor=IMAGE_NAME | xargs docker stop

Opsi -q hanya menampilkan ID penampung. Berkat perintah xargs yang luar biasa, ID container ini disalurkan ke docker stop sebagai argumen.

4. Hentikan semua container buruh pelabuhan yang sedang berjalan

Anda mungkin menghadapi situasi di mana Anda diminta untuk menghentikan semua container yang sedang berjalan. Misalnya jika Anda ingin menghapus semua container di Docker, Anda harus menghentikannya terlebih dahulu.

Untuk melakukan itu, Anda dapat menggunakan sesuatu yang mirip dengan apa yang Anda lihat di bagian sebelumnya. Hapus saja bagian gambarnya.

docker ps -q | xargs docker stop

5. Hentikan wadah dengan anggun

Sejujurnya, buruh pelabuhan menghentikan wadah dengan anggun secara default. Saat Anda menggunakan perintah docker stop, penampung memberikan waktu 10 detik sebelum mematikannya secara paksa.

Itu tidak berarti bahwa selalu butuh 10 detik untuk menghentikan sebuah wadah. Hanya saja jika container sedang menjalankan beberapa proses, dibutuhkan waktu 10 detik untuk menghentikan proses dan keluar.

Perintah berhenti Docker terlebih dahulu mengirimkan perintah SIGTERM. Jika conainer dihentikan dalam periode ini, ia mengirimkan perintah SIGKILL. Suatu proses mungkin mengabaikan SIGTERM tetapi SIGKILL akan segera mematikan proses tersebut.

Saya harap Anda tahu perbedaan antara SIGTERM dan SIGKILL.

Apa itu SIGTERM? Apa perbedaan antara SIGKILL &SIGTERM? Baik SIGTERM dan SIGKILL digunakan untuk mematikan proses di Linux. Tetapi Anda harus lebih suka menggunakan SIGTERM. Inilah alasannya! Buku Pegangan LinuxAbhishek Prakash

Anda dapat mengubah masa tenggang 10 detik ini dengan opsi -t. Misalkan Anda ingin menunggu 30 detik sebelum menghentikan wadah:

docker stop -t 30 container_name_or_id

Pada akhirnya…

Saya pikir banyak informasi ini mencakup topik dengan sangat baik. Anda tahu banyak hal tentang menghentikan wadah buruh pelabuhan.

Nantikan tips dan tutorial buruh pelabuhan lainnya. Jika Anda memiliki pertanyaan atau saran, beri tahu saya di bagian komentar.


Docker
  1. Cara Memperbarui Wadah Docker yang Berjalan Secara Otomatis

  2. Cara Menggunakan Tulis Docker

  3. Cara Mendaftar Kontainer Docker

  1. Bagaimana Menghubungkan Kontainer Docker

  2. Bagaimana Melewati Variabel Lingkungan ke Docker Containers

  3. Cara menghapus semua wadah Docker

  1. Cara Berbagi Data Antar Wadah Docker

  2. Cara Mendaftar / Memulai / Menghentikan Kontainer Docker

  3. Bagaimana Mengelola Kontainer Docker? Praktik terbaik