docker 占满磁盘迁移

查看docker 使用的空间:

1
docker system df

查找并清空 docker container 日志:

1
echo "" >> `find /var/lib/docker/containers/ -name *.log`

迁移 /var/lib/docker :

1
2
systemctl stop docker
rsync -avz /var/lib/docker /data/docker/

修改 docker.service 文件:

1
2
// 如果不知道 docker.service 文件位置,可以执行 systemctl enable docker 查看, 同时可以修改 container 日志存储参数
/usr/bin/dockerd  --graph=/home/docker/lib/docker --log-opt max-size=100m --log-opt max-file=1

启动 docker:

1
systemctl start docker

对于已经启动的docker容器,直接修改 docker.service 文件不起作用
需要修改 /var/lib/docker/container/<containerId>/hostconfig.json, 在这之前,一定要先停止docker服务systemctl stop docker

1
2
3
4
5
6
7
8
...
"LogConfig": {
"Type": "json-file",
"Config": {
"max-file": "1","max-size": "1m"
}
},
...