Liệt kê các container từ tất cả các nút của chế độ bầy docker


11

Chúng tôi đang chạy docker trong chế độ swarm trên một vài nút.

Không thể tìm thấy một cách nhanh chóng và dễ dàng để liệt kê tất cả các container (tốt nhất là có trạng thái) trong bầy từ các nút quản lý. Người ta có thể thấy các mạng lớp phủ và các thùng chứa chạy cục bộ gắn liền với các mạng này, cũng là các dịch vụ - nhưng không phải là các chi tiết về thùng chứa, v.v.

Đây có phải là thứ gì đó đã có sẵn hay đang sử dụng API REST là tùy chọn khả dụng duy nhất? (không chắc chắn nếu tất cả các thông tin cần thiết có sẵn ở đó)

Câu trả lời:


20

Bạn có thể làm docker node lsđể xem tất cả các nút trong bầy của bạn, sau đó docker node ps <node>để xem các thùng chứa trên nút đó.

Là một lớp lót, bạn có thể làm:

docker node ps $(docker node ls -q)


Có vẻ là giải pháp tốt nhất cho đến nay. Cần phải tìm ra cách lọc và định dạng kết quả cho node psmặc dù.
saabeilin

2
Đây là thực tế liệt kê các dịch vụ đang chạy, không phải tất cả các container.
Matthias B

6
Tôi thấy lệnh này rất hữu ích: docker node ps $(docker node ls -q) --filter desired-state=Running | uniq- điều này sẽ thực hiện lọc (trạng thái mong muốn) và cũng loại bỏ thông tin có thể không mong muốn (uniq).
colidyre
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.