5.1 Lệnh docker images
Nếu trong hệ thống của bạn đã lưu trữ các images của Docker, để quản lý chúng có các lệnh đặc biệt. Đầu tiên là lệnh docker images
và docker rmi
. Trong bài giảng này, chúng ta sẽ xem chi tiết cách sử dụng các lệnh này để quản lý hiệu quả Docker-images.
Lệnh docker images
hiển thị danh sách các images đã được lưu trữ cục bộ trên hệ thống của bạn. Nó hiển thị các thông tin như tên repository, tag, ID của image, ngày tạo và kích thước. Thông tin này giúp bạn nhanh chóng đánh giá được những images nào khả dụng và chúng chiếm bao nhiêu dung lượng.
Cú pháp:
docker images [OPTIONS] [REPOSITORY[:TAG]]
Trong đó:
-
OPTIONS
: các tham số bổ sung để lọc và định dạng output. -
[REPOSITORY[:TAG]]
: (không bắt buộc) bộ lọc theo tên repository và/hoặc tag.
Ví dụ cơ bản
Ví dụ này sẽ hiển thị danh sách tất cả các images đã được lưu cục bộ.
docker images
Ví dụ output của lệnh docker images
:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5a7e5b1a3b8c 2 days ago 133MB
ubuntu 20.04 ba6acccedd29 3 weeks ago 72.9MB
myapp 1.0 d1e5e2ff5ff2 1 month ago 89.5MB
Mô tả các cột:
- REPOSITORY: tên repository mà image thuộc về.
- TAG: tag biểu thị phiên bản của image.
- IMAGE ID: ID duy nhất của image.
- CREATED: thời gian kể từ khi image được tạo.
- SIZE: dung lượng của image trong bộ nhớ.
5.2 Lọc images
Việc lọc images cho phép thu hẹp kết quả của lệnh docker images
để chỉ xem những images phù hợp với tiêu chí của bạn. Điều này rất tiện lợi nếu trong hệ thống của bạn có rất nhiều images và bạn cần tìm nhanh một image cụ thể theo tên repository, tag, hay các tham số khác.
1. Lọc theo repository
docker images nginx
Ví dụ này sẽ hiển thị chỉ những images từ repository nginx
.
2. Lọc theo tag
docker images ubuntu:20.04
Ví dụ này sẽ hiển thị image ubuntu
với tag 20.04
.
3. Sử dụng tham số -a (all)
Mặc định, lệnh docker images
sẽ chỉ hiển thị các phiên bản mới nhất của images. Để hiển thị tất cả các images, bao gồm cả các lớp trung gian, bạn sử dụng tùy chọn -a
.
docker images -a
4. Định dạng đầu ra
Để đơn giản hóa việc đọc hoặc tích hợp với các công cụ khác, bạn có thể tùy chỉnh định dạng đầu ra bằng cách sử dụng tùy chọn --format
. Điều này đặc biệt hữu ích trong scripts và khi tự động hóa các tác vụ.
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}"
5.3 Lệnh docker rmi
Lệnh docker rmi
được sử dụng để xóa một hoặc nhiều image Docker. Điều này hữu ích để giải phóng không gian đĩa và giữ cho hệ thống gọn gàng, đặc biệt khi các images không còn được sử dụng.
Cú pháp:
docker rmi [OPTIONS] IMAGE [IMAGE...]
Ở đây:
- OPTIONS: các tham số bổ sung để quản lý quá trình xóa.
- IMAGE: tên, tag hoặc id của image cần xóa.
Ví dụ sử dụng cơ bản
Ví dụ này xóa image có tên là nginx
.
docker rmi nginx
Xóa bằng id của image
Ví dụ này xóa image với id là 5a7e5b1a3b8c
.
docker rmi 5a7e5b1a3b8c
Xóa bắt buộc
Nếu image đang được sử dụng bởi container hoặc bị khóa, việc xóa tiêu chuẩn có thể không thành công. Để xóa bắt buộc, sử dụng tùy chọn -f (force)
.
docker rmi -f myapp:1.0
Xóa nhiều images
Để xóa nhiều images cùng một lúc, liệt kê chúng cách nhau bằng khoảng trắng.
docker rmi nginx ubuntu:20.04 myapp:1.0
5.4 Ví dụ thực tế
Ví dụ 1: Xem tất cả các images
Để lấy danh sách đầy đủ tất cả images được lưu trong máy cục bộ, chạy lệnh sau:
docker images
Lệnh này sẽ hiển thị một bảng với tên repository, tag, ID của images, ngày tạo và kích thước.
Ví dụ 2: Xem images với output format
Để lấy danh sách các images với format tuỳ chỉnh, ví dụ chỉ hiển thị tên repository và tag:
docker images --format "{{.Repository}}:{{.Tag}}"
Ví dụ này chỉ ra cách sử dụng tuỳ chọn --format
để tuỳ chỉnh đầu ra, rất tiện lợi khi viết scripts.
Ví dụ 3: Xóa tất cả các images không sử dụng
Nếu bạn muốn xóa tất cả các images không được container sử dụng, trước tiên lấy danh sách chúng, sau đó thực hiện xóa:
docker images -q
docker rmi $(docker images -q)
Lệnh docker images -q
chỉ hiển thị ID của tất cả các images được lưu cục bộ, sau đó truyền chúng vào docker rmi
để xóa.
Ví dụ 4: Xóa dangling images
Dangling images
- những images không có tag, được tạo ra sau khi update hình ảnh hoặc build không thành công. Để xóa chúng, sử dụng lệnh:
docker rmi $(docker images -f "dangling=true" -q)
Tại đây, -f "dangling=true"
lọc chỉ các images không có tag, và -q
chỉ hiển thị ID của chúng, sau đó truyền vào lệnh xóa.
GO TO FULL VERSION