3.1 Cơ bản về lệnh docker ps
Lệnh docker ps
là một trong những lệnh hữu ích nhất trong Docker. Nó hiển thị danh sách các container đang chạy và cung cấp thông tin về chúng. Trong bài giảng này, chúng ta sẽ cùng tìm hiểu chi tiết cách sử dụng docker ps
để kiểm tra trạng thái container và các tham số có sẵn để hiển thị thông tin chi tiết hơn.
Theo mặc định, lệnh docker ps
chỉ hiển thị danh sách các container đang chạy tại thời điểm hiện tại.
Cú pháp
docker ps [OPTIONS]
Trong đó:
-
OPTIONS
: các tham số bổ sung để lọc và định dạng đầu ra.
Ví dụ sử dụng cơ bản
docker ps
Lệnh cơ bản này của docker ps sẽ hiển thị danh sách tất cả các container đang chạy. Đầu ra sẽ bao gồm các cột sau:
- CONTAINER ID: mã định danh duy nhất của container.
- IMAGE: image được sử dụng để tạo container.
- COMMAND: lệnh được thực thi bên trong container.
- CREATED: khoảng thời gian từ khi container được tạo.
- STATUS: trạng thái hiện tại của container (ví dụ: Up 5 minutes).
- PORTS: các cổng được chuyển tiếp.
- NAMES: tên của container.
Danh sách tất cả container
Để hiển thị tất cả các container, bao gồm cả các container đã dừng, sử dụng tuỳ chọn -a:
docker ps -a
Lệnh này sẽ hiển thị danh sách tất cả các container đã từng được chạy, với thông tin về trạng thái hiện tại của chúng (đang chạy, đã dừng, v.v.).
3.2 Lọc kết quả đầu ra
Docker cung cấp khả năng lọc kết quả của lệnh docker ps
để hiển thị chỉ những container phù hợp với tiêu chí đã đặt.
1. Lọc theo trạng thái
Ví dụ, để hiển thị chỉ các container đã dừng:
docker ps -f "status=exited"
2. Lọc theo tên
Để hiển thị các container với một tên cụ thể hoặc một phần của tên:
docker ps -f "name=my_container"
3. Lọc theo image
Để hiển thị các container được tạo từ một image cụ thể:
docker ps -f "ancestor=nginx"
3.3 Định dạng đầu ra
Bạn có thể tùy chỉnh đầu ra của lệnh docker ps
để làm cho nó dễ đọc hơn hoặc chỉ hiển thị các trường bạn cần. Để làm điều này, sử dụng tham số --format
.
Ví dụ định dạng
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
Ví dụ này hiển thị một bảng gồm ID của container, tên của nó và trạng thái.
Các cột có sẵn trong bảng
- {{.ID}}: ID của container.
- {{.Image}}: image của container.
- {{.Command}}: lệnh được chạy trong container.
- {{.CreatedAt}}: thời gian tạo container.
- {{.RunningFor}}: thời gian container đã chạy.
- {{.Status}}: trạng thái hiện tại của container.
- {{.Ports}}: các cổng được ánh xạ.
- {{.Names}}: tên của container.
Ví dụ sử dụng
Ví dụ 1: chỉ hiển thị các ID của container
Ví dụ này sẽ chỉ hiển thị các ID của các container đang chạy. Rất hữu ích để dùng trong script.
docker ps -q
Ví dụ 2: hiển thị các container đã chạy trong 24 giờ qua
docker ps --filter "since=24h"
Ví dụ 3: hiển thị container với trạng thái cụ thể và định dạng đầu ra
Ví dụ này sẽ hiển thị một bảng với tên container, trạng thái của chúng và các cổng được ánh xạ cho tất cả các container đang chạy.
docker ps -f "status=running" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
3.4 Các kịch bản thực tế
1. Theo dõi container đang chạy
Khi bạn có nhiều container đang chạy, lệnh docker ps
cho phép bạn nhanh chóng kiểm tra trạng thái hiện tại của chúng và đảm bảo rằng mọi thứ đang hoạt động đúng cách.
docker ps
2. Tìm và xóa container đã dừng
Sau khi container ngừng hoạt động, chúng vẫn còn trong hệ thống cho đến khi bạn xóa chúng. Bạn có thể sử dụng docker ps -a
để tìm tất cả container đã dừng và sau đó xóa chúng.
docker ps -a -f "status=exited"
docker rm $(docker ps -a -f "status=exited" -q)
3. Tự động hóa nhiệm vụ
Sử dụng lệnh docker ps
trong script cho phép tự động hóa các nhiệm vụ quản trị container khác nhau. Ví dụ, bạn có thể tạo báo cáo về trạng thái container hoặc tự động khởi động lại container nếu chúng đã ngừng hoạt động.
if [ $(docker ps -q -f "name=my_container") ]; then
echo "Container đang chạy"
else
docker start my_container
fi
Quan trọng! Đoạn “mã” này được viết trong terminal Linux. Có thể bạn sẽ cần học qua nó.
GO TO FULL VERSION