我已经配置好了"data-root": "/mnt/docker-overlay"
并且我的/mnt/docker-overlay
卷没有空间。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb 40G 40G 0 100% /mnt/docker-overlay
我无法运行docker system prune
或类似操作,因为 docker 服务由于空间问题而退出。
如何docker
恢复服务并执行清理?
答案1
我找到了这个解决方法:检测哪个容器占用了空间以及原因。就我而言,我清理了日志文件
# cd /mnt/docker-overlay/containers
# du -h -d 1
# cd ./b16..zx
# ls -la
total 7207732
drwx--x--- 4 root root 4096 May 27 2023 .
drwx--x--- 33 root root 4096 Jan 26 2023 ..
-rw-r----- 1 root root 7380619264 Dec 21 03:28 b16..zx-json.log
drwx------ 2 root root 4096 Jan 16 2023 checkpoints
-rw------- 1 root root 4651 May 27 2023 config.v2.json
-rw-r--r-- 1 root root 1594 May 27 2023 hostconfig.json
-rw-r--r-- 1 root root 13 May 27 2023 hostname
-rw-r--r-- 1 root root 177 May 27 2023 hosts
drwx--x--- 2 root root 4096 Jan 16 2023 mounts
-rw-r--r-- 1 root root 53 May 27 2023 resolv.conf
-rw-r--r-- 1 root root 71 May 27 2023 resolv.conf.hash
# : > b16..zx-json.log
尽管我将日志限制为仅 500 米,但它占用了这么多磁盘空间,这很奇怪。
# cat /etc/docker/daemon.json
{
"debug": true,
"data-root": "/mnt/docker-overlay",
"features":
{ "buildkit": true },
"log-opts": {
"max-size": "500m",
"max-file": "5"
}
}
更新型多巴胺
重要提示:更改日志选项后,我们必须重新创建现有容器。否则它们将继续占用磁盘空间:
评论1和评论2
检查您的容器是否使用正确的选项:docker inspect <container-name> | grep -B 0 -A 6 LogConfig