Nếu bạn là một system admin có trách nhiệm quản trị docker, chắc chắn bạn sẽ cần phải biết cách start và stop container trong docker. Quy trình stop container hơi khác một chút so với việc stop các process chạy trên hệ thống. Đó là, bạn sẽ cần phải dùng lệnh “docker stop” và chỉ ra ID container nào cần stop.
Trong bài viết này, mình sẽ hướng dẫn các bạn cách stop docker container theo 2 cách khác nhau:
Cú pháp stop container
Dưới đây là một số cú pháp cơ bản để stop container
docker container stop [OPTIONS] CONTAINER [CONTAINER...]
Hoặc
docker container kill [OPTIONS] CONTAINER [CONTAINER...]
Sử dụng một trong hai lệnh trên, bạn có thể stop một container hoặc nhiều container chỉ với một dòng lệnh
Stop một container
Trước khi stop bất kỳ một container nào trong docker, bạn sẽ cần phải xác định được ID hoặc name của container đó, bằng cách chạy câu lệnh sau:
sudo docker ps
Như ở trên, bạn sẽ thấy có rất nhiều các container đang chạy – có chứa tên và ID của mỗi container.
Tiếp theo, để stop một container có tên calibre-web và ID là dbeabf0aa6b3, bạn có thể stop docker container bằng cách chạy câu lệnh sau:
sudo docker container stop calibre-web
Hoặc
sudo docker container stop calibre-web
Bạn cũng hoàn toàn có thể sử dụng tham số kill thay vì stop
docker container kill calibre-web
Hoặc
docker container kill calibre-web
Tiếp theo, để xác nhận trạng thái hiện tại của container, bạn có thể sử dụng câu lệnh sau để kiểm tra:
sudo docker ps --filter "status=exited" | grep calibre-web
Sau khi chạy câu lệnh trên, bạn sẽ nhận được output có dạng như sau:
3e5cddafb61d technosoft2000/calibre-web:v1.1.9 "/bin/bash
-c /init/…" 20 hours ago Exited (137) 33 seconds ago calibre-web
Stop nhiều container
Bạn hoàn toàn có thể stop nhiều container chỉ với cùng một câu lệnh bằng cách thêm nhiều tên container trong cùng một câu lệnh. Ví dụ: để stop 2 container có name là abc và cdf, sử dụng câu lệnh sau:
sudo docker container stop abc cdf
Stop tất cả container đang chạy
Bạn cũng có thể stop toàn bộ container đang chạy bằng cách sử dụng option “docker container ls -aq” kết hợp với câu lệnh “docker container stop”. Câu lệnh sau sẽ tạo ra một danh sách các container đang chạy và stop tất cả các container đó:
docker container stop $(docker container ls -aq)
Để xác nhận lại có còn container nào đang chạy trên hệ thống của bạn không, bạn có thể sử dụng câu lệnh sau đây:
sudo docker ps --filter "status=exited"
Sau khi chạy câu lệnh trên, bạn sẽ nhận được output có dạng như sau:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
592b9fe9f478 drupal "docker-php-entrypoi…" 2 hours ago Exited (0)
25 seconds ago mystifying_cartwright
9392aab37f99 wordpress "docker-entrypoint.s…" 2 hours ago Exited (128)
17 minutes ago 0.0.0.0:8081->80/tcp wpcontainer
bcbc64840b0a mariadb "docker-entrypoint.s…" 2 hours ago Exited (0)
25 seconds ago wordpressdb
3e5cddafb61d technosoft2000/calibre-web:v1.1.9 "/bin/bash -c /init/…"
21 hours ago Exited (137) 16 seconds ago calibre-web