Trong bài viết này mình sẽ chia sẻ một số mẹo rất hữu ích để xoá toàn bộ dữ liệu trong Docker, bao gồm:
- Container
- Image
- Volume
- Network (ngoại trừ các network mặc định)
Xem thêm:
Attach và Detach trong Docker – Chạy container foreground hay background? – Bài 4
Cách truy cập container trong Docker để kiểm tra và xử lý sự cố – Bài 5
1. Xoá tất cả container
Bước 1: Dừng tất cả container
Trước khi xoá, bạn cần dừng các container đang chạy. Để xem container đang chạy:
docker ps
Để xem tất cả container (bao gồm cả đã dừng):
docker ps -a
Để dừng tất cả container:
docker stop $(docker ps -aq)
$(docker ps -aq)sẽ trả về danh sách ID của tất cả container, sau đó được dùng làm đầu vào cho lệnhdocker stop.
Bước 2: Xoá tất cả container
Sau khi dừng xong, bạn có thể xoá toàn bộ container bằng:
docker rm $(docker ps -aq)
2. Xoá tất cả image
Để xem tất cả image trong máy:
docker images
Để xoá toàn bộ image:
docker rmi $(docker images -aq)
Lưu ý: Nếu image có container phụ thuộc chưa xoá, Docker sẽ báo lỗi. Hãy chắc chắn bạn đã xoá container trước.
3. Xoá tất cả volume
Xem danh sách volume:
docker volume ls
Xoá tất cả volume:
docker volume prune -f
Tuỳ chọn
-fgiúp xác nhận xoá mà không cần gõytrong lúc thực hiện.
4. Xoá các network không phải mặc định
Xem danh sách network:
docker network ls
Xoá các network do người dùng tạo (không xoá được các network mặc định như bridge, host, none):
docker network prune -f
5. Tổng hợp các lệnh dọn dẹp Docker
| Mục đích | Lệnh |
|---|---|
| Dừng tất cả container | docker stop $(docker ps -aq) |
| Xoá tất cả container | docker rm $(docker ps -aq) |
| Xoá tất cả image | docker rmi $(docker images -aq) |
| Xoá tất cả volume | docker volume prune -f |
| Xoá tất cả network tùy chỉnh | docker network prune -f |
Hy vọng bài viết này giúp bạn hiểu rõ hơn cách quản lý và làm sạch Docker.
Xem thêm:
Docker Registry và Docker Repo – Bài 6
Hướng dẫn Mapping Port trong Docker – Mở port (expose và publish) – Bài 7