CodeGym /Các khóa học /Docker SELF /Kiểm tra trạng thái của container

Kiểm tra trạng thái của container

Docker SELF
Mức độ , Bài học
Có sẵn

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

Terminal

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

Terminal


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:

Terminal


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:

Terminal


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:

Terminal


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ể:

Terminal

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

Terminal


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.

Terminal


docker ps -q

Ví dụ 2: hiển thị các container đã chạy trong 24 giờ qua

Terminal


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.

Terminal


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.

Terminal


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.

Terminal

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.

Terminal

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ó.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION