Jun 20 2020
15 mindocker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker rm $(docker ps -a -f status=exited -f status=created -q)
Yêu cầu: Docker 1.9 and later
Dangling volumes là những volumes không liên kết với bất kỳ 1 container nào.
docker volume prune
docker rm -v container_name
docker rmi $(docker images -a -q)
Dangling images là những images có tag là <none>
.
Khi bạn dùng multistage để build 1 image thì sẽ xuất hiện những images kiểu thế này. Việc giữ lại những image này sẽ giúp bạn build nhanh hơn trong những lần tới, nhưng thường nó cũng ngốn dung lượng khá lớn. Hãy cân nhắc kỹ trước khi xóa nó.
List
docker images -f dangling=true
Remove
docker images purge
Docker cung cấp 1 command duy nhất để xóa những thứ không cần thiết. Bạn có thể thử. Nhưng nếu 1 ngày bạn chạy lệnh này rồi mà thấy đĩa cứng vẫn bị ngốn dung lượng một cách bí ẩn, hãy thử dùng các lệnh ở trên.
docker system prune
Include unused images (not just dangling images)
docker system prune -a
Khi bạn chạy lệnh docker logs container_name
, bạn sẽ xem được logs của container đó. Mỗi 1 container sẽ có logs riêng của nó. Mặc định, docker sẽ không giớ hạn số lượng/dung lượng logs của 1 container. Logs quá nhiều dấn đến disk của bạn cũng bị chiếm nhiều dung lượng
Log là 1 trong những tác nhân gây ngốn dung lượng một cách thầm lặng mà bạn sẽ khó mà nghĩ đến
Vì thế, ta cần giới hạn logs của mỗi container.
Tìm đến file /etc/docker/daemon.json
(nếu không có thì tạo file mới). Thêm vào file đó với nội dung như sau:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
Từ config trên => 1 container có tối đa 3 file log, 1 file log có dung lượng tối đa 10MB. => Log tối đa 30MB.
Khi log đã ghi hết file thứ 3, thì file thứ 1 (cũ nhất) sẽ bị xoá để ghi log mới.