Danh sách chỉ dừng lại Docker container


191

Docker cung cấp cho bạn một cách liệt kê các container đang chạy hoặc tất cả các container bao gồm cả những container đã dừng.

Điều này có thể được thực hiện bởi:

$ docker ps # To list running containers

Hoặc bằng cách

$ docker ps -a # To list running and stopped containers

Chúng ta có cách nào chỉ liệt kê các container đã bị dừng không?

Câu trả lời:


310

Chỉ các container bị dừng có thể được liệt kê bằng cách sử dụng:

docker ps --filter "status=exited"

hoặc là

docker ps -f "status=exited"

4
Ngoài ra, bạn có thể lọc chúng bằng grepví dụ docker ps -a | grep Exitedhoặc một cái gì đó tương tự.
starikovs

23
Thật tuyệt, giờ tôi có thể loại bỏ các container đã dừng bằngdocker rm $(docker ps --filter "status=exited" -q)
czerasz

2
tốt hơn hết là tạo bí danh trong hồ sơ bash của bạn và sử dụng từ khóa / lệnh ngắn hơn để dọn sạch các container bị dừng
Yogesh_D

21
"Docker container prune" có thể được sử dụng kể từ 1.25 Tôi tin rằng sẽ loại bỏ các container bị dừng
paul

38

Lệnh điển hình là:

docker container ls -f 'status=exited'

Tuy nhiên, điều này sẽ chỉ liệt kê một trong những trạng thái không chạy có thể. Dưới đây là danh sách tất cả các trạng thái có thể:

  • tạo
  • khởi động lại
  • đang chạy
  • loại bỏ
  • tạm dừng
  • thoát
  • đã chết

Bạn có thể lọc trên nhiều trạng thái bằng cách chuyển nhiều bộ lọc vào trạng thái:

docker container ls -f 'status=exited' -f 'status=dead' -f 'status=created'

Nếu bạn đang tích hợp điều này với một tập lệnh dọn dẹp tự động, bạn có thể xâu chuỗi một lệnh này với một cú pháp bash, chỉ xuất ra id của container -qvà bạn cũng có thể giới hạn chỉ các container đã thoát thành công với bộ lọc mã thoát:

docker container rm $(docker container ls -q -f 'status=exited' -f 'exited=0')

Để biết thêm chi tiết về các bộ lọc bạn có thể sử dụng, hãy xem tài liệu của Docker: https://docs.docker.com/engine/reference/commandline/ps/#filtering


8
docker container list -f "status=exited"

hoặc là

docker container ls -f "status=exited"

hoặc là

 docker ps -f "status=exited"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.