Cách liệt kê các container trong Docker


965

Có một lệnh để liệt kê hình ảnh docker images, nhưng dường như không có tương ứng docker containers.

Khác với việc trở thành root và nhìn vào /var/lib/dockerđó dường như không có cách nào để làm điều đó. Tui bỏ lỡ điều gì vậy? Đó có phải là điều mà người ta không nên làm không?


Câu hỏi tương tự về Stack Overflow stackoverflow.com/questions/38464549/ từ
Yogesh

Câu trả lời:


1639

Để chỉ hiển thị các container đang chạy, sử dụng lệnh đã cho:

docker ps

Để hiển thị tất cả các container sử dụng lệnh đã cho:

docker ps -a

Để hiển thị vùng chứa được tạo mới nhất (bao gồm tất cả các trạng thái), hãy sử dụng lệnh đã cho:

docker ps -l

Để hiển thị n container được tạo lần cuối (bao gồm tất cả các trạng thái), hãy sử dụng lệnh đã cho:

docker ps -n=-1

Để hiển thị tổng kích thước tệp, sử dụng lệnh đã cho:

docker ps -s

Nội dung được trình bày ở trên là từ docker.com .

Trong phiên bản mới của Docker, các lệnh được cập nhật và một số lệnh quản lý được thêm vào:

docker container ls

Nó được sử dụng để liệt kê tất cả các container đang chạy.

docker container ls -a

Và sau đó, nếu bạn muốn làm sạch tất cả,

docker rm $(docker ps -aq)

Nó được sử dụng để liệt kê tất cả các container được tạo ra bất kể trạng thái của nó.

Và để dừng tất cả các container Docker (lực lượng)

docker rm -f $(docker ps -a -q)  

Ở đây container là lệnh quản lý.


@RutgerHofste cả hai lệnh ( docker rmdocker ps) đều hiển thị trong trợ giúp của docker .
Munchkin

10
Một cách hữu ích khác để làm sạch tất cả các vật dụng không cần thiết như thùng chứa lủng lẳng, hình ảnh không sử dụng, nhật ký, vv là sử dụng docker system prune --all. Bạn có thể tìm thấy tài liệu về
docker

sau khi hình ảnh được kéo, ps -a, KHÔNG liệt kê nó. dường như bạn chỉ có thể liệt kê những hình ảnh đã chạy ít nhất một lần?
ftravers

docker psliệt kê tất cả các container đang chạy tạm dừng. Để chỉ liệt kê những cái đang chạy:docker ps --filter="status=running"
WindyFields

@ftravers docker pschỉ hiển thị thông tin về container. Những gì bạn muốn là thông tin về hình ảnh. Bạn có thể xem tất cả các hình ảnh địa phương bằng cách sử dụng docker imageslệnh.
Lappro

141

Để liệt kê tất cả các container đang chạy và đã dừng

docker ps -a

Để liệt kê tất cả các container đang chạy (chỉ nêu rõ ví dụ sử dụng tùy chọn lọc -f)

docker ps -a -f status=running

Để liệt kê tất cả các container đang chạy và đã dừng, chỉ hiển thị id container của chúng

docker ps -aq

Để loại bỏ tất cả các container KHÔNG chạy

docker rm `docker ps -aq -f status=exited`

32

Lưu ý rằng một thời gian trước đã có một bản cập nhật cho lệnh này. Nó sẽ không hiển thị kích thước vùng chứa theo mặc định (vì điều này khá tốn kém cho nhiều container đang chạy). Sử dụng docker ps -sđể hiển thị kích thước container là tốt.


Theo câu trả lời của mrh bên dưới, bạn cũng sẽ cần công tắc -a để xem các container không chạy (có thể là trường hợp cho những người bạn muốn xóa), vì vậy lệnh cuối cùng là docker ps -as(đừng quên trả trước sudonếu daemon đang chạy với quyền root)
Anthony DiSanti

21

docker ps -s sẽ chỉ hiển thị kích thước của các container đang chạy.

Để kiểm tra kích thước của tất cả các container sử dụng docker ps -as


19

Ngoài ra còn có các tùy chọn sau:

docker container ls
docker container ls -a
# --all, -a
# Show all containers (default shows just running)

kể từ: 1.13.0 (2017-01-18) :

Cơ cấu lại các lệnh CLI bằng cách thêm docker imagedocker containercác lệnh để có tính nhất quán hơn # 26025

và như đã nêu ở đây: Giới thiệu Docker 1.13 , người dùng được khuyến khích áp dụng cú pháp mới:

CLI tái cấu trúc

Trong Docker 1.13, chúng tôi tập hợp lại mọi lệnh để ngồi dưới đối tượng logic mà nó tương tác. Ví dụ liststartcác container hiện là các tiểu ban của docker containerhistorylà một tiểu ban của docker image.

Những thay đổi này cho phép chúng tôi dọn sạch cú pháp Docker CLI, cải thiện văn bản trợ giúp và làm cho Docker đơn giản hơn để sử dụng. Cú pháp lệnh cũ vẫn được hỗ trợ, nhưng chúng tôi khuyến khích mọi người chấp nhận cú pháp mới .


1
thông tin tuyệt vời, một sự xấu hổ docker --helpcó giao diện được đề xuất 3 trang trở lại trong đầu ra của nó, bị ẩn trước các lệnh không dùng nữa!
danio

13

Để chỉ liệt kê các container SHA1:

docker ps -aq --no-trunc

Bằng cách đó, bạn có thể sử dụng danh sách tất cả các container cho các lệnh khác (chấp nhận nhiều id container làm tham số).

Ví dụ, để liệt kê chỉ các tên của tất cả các container (vì docker psdanh sách chỉ tên của họ với các thông tin khác):

docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)

13

Bộ lệnh Docker đơn giản và kết hợp tốt với nhau:

docker stack ls
docker service ls
docker image ls
docker container ls

Dạy các bí danh đầu tiên là khó hiểu. Khi bạn hiểu chuyện gì đang xảy ra, họ có thể lưu một số tổ hợp phím:

docker images -> docker image ls
docker ps -> docker container ls
docker rmi -> docker image rm
docker rm -> docker container rm

Có một số bí danh trong Docker. Ví dụ:

docker rmi
docker image rm
docker image rmi
docker image remove

là tất cả các lệnh giống nhau (xem cho chính bạn sử dụng docker help image rm).


4

Có nhiều cách để liệt kê tất cả các container.

Bạn có thể tìm thấy bằng cách sử dụng 3 Bí danh ls, ps, listnhư thế này.

sudo docker container ls 
sudo docker container ps
sudo docker container list
sudo docker ps
sudo docker ps -a

Bạn cũng có thể sử dụng tùy chọn cho [option].

Tùy chọn -:

  -a, --all             Show all containers (default shows just running)
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print containers using a Go template
  -n, --last int        Show last created containers (includes all states) (default -1)
  -l, --latest          Show the latest created container (includes all states)
      --no-trunc        Don't truncate output
  -q, --quiet           Only display numeric IDs
  -s, --size            Display total file sizes

Bạn có thể sử dụng một tùy chọn như thế này:

sudo docker ps //Showing only running containers
sudo docker ps -a //All container (running + stopped)
sudo docker pa -l // latest
sudo docker ps -n <int valuse 1,2,3 etc>// latest number of created containers
sudo docker ps -s // Display container with size
sudo docker ps -q // Only display numeric IDs for containers
docker docker ps -a | tail -n 1 //oldest container

3

Để chỉ hiển thị các container đang chạy

docker ps

Để hiển thị tất cả các container (bao gồm tất cả các trạng thái)

docker ps -a

Để hiển thị container được tạo mới nhất (bao gồm tất cả các trạng thái)

docker ps -l

Để hiển thị n container được tạo lần cuối (bao gồm tất cả các trạng thái)

docker ps -n=-1

Để hiển thị tổng kích thước tệp

docker ps -s

Trong phiên bản mới của Docker, các lệnh được cập nhật và một số lệnh quản lý được thêm vào:

docker container ls

Liệt kê tất cả các container đang chạy.

docker container ls -a


3

Danh sách các container đang chạy : -

$ docker ps

Liệt kê tất cả các container: -

$ docker ps -a

Danh sách chỉ dừng container: -

$ docker ps --filter "status=exited"

hoặc là

$ docker ps -f "status=exited"


Các lệnh này đã được đăng nhiều lần - lý do để sao chép các câu trả lời khác là gì?
Nico Haase

2

chỉ là một cách thuận tiện để nhận n = 5 container cuối cùng (bất kể có chạy hay không):

$ docker container ls -a -n5

2

Sử dụng docker container lsđể liệt kê tất cả các container đang chạy.

Sử dụng cờ -ađể hiển thị tất cả các container (không chỉ chạy). I Edocker container ls -a

Sử dụng cờ -qđể hiển thị các thùng chứa và ID số của chúng. I Edocker container ls -q

Truy cập tài liệu để tìm hiểu tất cả các tùy chọn có sẵn cho lệnh này.


1

Tôi nhận được thông báo lỗi Cannot connect to the Docker daemon.Tôi quên tôi đang chạy daemon với quyền root và cần thiết sudo:

$ sudo docker ps

1
alias docker="sudo --group docker docker"
ctrl-alt-delor

1
docker ps [OPTIONS]

Lệnh sau sẽ chỉ hiển thị các container đang chạy theo mặc định.

docker ps

Để xem tất cả các container:

docker ps -a

Để hiển thị container được tạo mới nhất:

docker ps -l
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.