我是Docker的新手,不知道日志文件的大小是无限的。
现在我有两个要保留的容器正在运行,但是限制了它们的日志文件的大小(当前大于40GB)。
对于现有容器,这是可能的,因为没有使用任何docker start命令的选项。
答案 0 :(得分:0)
我最近也遇到了这个问题(( 3个容器占用了68GB(!)),所以我为自己做了一些笔记;我将它们粘贴在这里。
阻止Docker容器将容器日志填满磁盘:
在Docker桌面UI的“高级”部分中,添加以下内容(最大日志大小为5MB /最大日志数500,根据您的偏好进行调整):
"log-driver": "json-file",
"log-opts": {
"max-size": "5m",
"max-file": "500"
}
像我一样,您可能还需要清理所有这些日志中的Docker VM:
清理日志文件(容器)(SSH进入VM,chroot /host
进行此操作):
列出他们:
find /var/lib/docker/containers/ -type f -name "*.log"
在下面的示例中,从此处选择要删除的内容,方法是编辑路径。要删除,只需在命令末尾添加-delete
。
即:
find /var/lib/docker/containers/ -type f -name "*.log" -delete
您最后想做的是清除所有垃圾后优化Docker VM:
要优化/缩小VM(使用Powershell):
Mount-VHD -Path "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\DockerDesktop.vhdx" -ReadOnly
Optimize-VHD -Path "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\DockerDesktop.vhdx" -Mode Full
Dismount-VHD -Path "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\DockerDesktop.vhdx"