Dọn dẹp Docker toàn diện cho hệ thống

Trong quá trình phát triển phần mềm, Docker mang lại sự tiện lợi tuyệt vời nhưng cũng để lại một hệ quả không nhỏ là việc tích lũy rác dữ liệu. Các container cũ, image không còn sử dụng, cùng các volume vô danh sẽ âm thầm nuốt chửng dung lượng ổ cứng của bạn theo thời gian. Khi hệ thống báo động về giới hạn không gian lưu trữ, đó là lúc bạn cần thực hiện một cuộc tổng vệ sinh triệt để.

Dưới đây là quy trình từng bước giúp giải phóng hoàn toàn Docker về trạng thái nguyên bản.

Loại bỏ toàn bộ các container

Công việc đầu tiên là chấm dứt sự hoạt động của tất cả các container, bao gồm cả những tiến trình đang chạy ngầm hoặc đã dừng trước đó. Lệnh này sẽ quét toàn bộ danh sách và cưỡng ép xóa bỏ chúng ngay lập tức.

sudo docker ps -aq | xargs -r sudo docker rm -f

Xóa sạch kho lưu trữ image

Sau khi giải phóng các container, các tầng image nền chính là tác nhân chiếm dụng nhiều dung lượng nhất. Để dọn sạch kho chứa này, lệnh sau sẽ tiến hành xóa bỏ toàn bộ các image hiện có trên máy cục bộ của bạn.

sudo docker images -aq | xargs -r sudo docker rmi -f

Giải tỏa các volume dữ liệu độc lập

Volume là nơi lưu trữ dữ liệu bền vững và chúng thường không tự động biến mất khi container bị xóa. Việc bỏ quên các volume này sẽ khiến ổ cứng bị lãng phí một lượng tài nguyên khổng lồ. Hãy dọn dẹp chúng bằng câu lệnh dưới đây.

sudo docker volume ls -q | xargs -r sudo docker volume rm -f

Loại bỏ các cấu hình network tùy biến

Các mạng kết nối do người dùng tự định nghĩa qua thời gian sẽ trở nên chồng chéo và không còn cần thiết. Bạn cần lọc ra những network tùy chỉnh này và tiến hành xóa sạch để trả lại sự thông thoáng cho hệ thống mạng.

sudo docker network ls --filter type=custom -q | xargs -r sudo docker network rm

Khôi phục trạng thái hệ thống và bộ nhớ đệm

Bước cuối cùng và cũng là bước mạnh mẽ nhất chính là xóa bỏ toàn bộ bộ nhớ đệm của quá trình đóng gói ứng dụng và thanh lọc sâu hệ thống. Việc này đảm bảo không còn bất kỳ dữ liệu rác nào có thể sót lại trong các phân vùng ẩn.

sudo docker builder prune -a -f
sudo docker system prune -a --volumes -f

Những lưu ý quan trọng trước khi thực hiện

Chuỗi lệnh trên mang tính giải phóng triệt để đối với toàn bộ môi trường Docker hiện tại của bạn. Bạn sẽ mất toàn bộ cấu hình, lịch sử và dữ liệu chưa được đồng bộ. Vì vậy, hãy luôn chắc chắn rằng bạn đã sao lưu những dữ liệu quan trọng trước khi bắt đầu thực thi. Hãy áp dụng phương pháp này như một giải pháp tối ưu để tái cấu trúc lại môi trường làm việc gọn gàng và hiệu quả hơn.

Kết luận

Bạn hoàn toàn có thể chạy một câu lệnh là xong là

sudo docker ps -aq | xargs -r sudo docker rm -f
sudo docker images -aq | xargs -r sudo docker rmi -f
sudo docker volume ls -q | xargs -r sudo docker volume rm -f
sudo docker network ls --filter type=custom -q | xargs -r sudo docker network rm
sudo docker builder prune -a -f
sudo docker system prune -a --volumes -f
Chia sẻ bài viết:
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất

Tiêu điểm chuyên gia