Docker根目录迁移与滚动日志设置方法
作者:亚林瓜子
在使用docker的过程中,需要注意docker的根目录磁盘位置,默认情况下docker的日志是没有限制的,所有,除了要修改根目录位置到比较大的地方,还需要设置docker滚动日志方式,这篇文章主要介绍了Docker根目录迁移与滚动日志设置方法,需要的朋友可以参考下
问题
最近使用docker手动导入离线镜像,总是出现,如下问题:
no space left on the device
简单来说,就是docker根目录满了。
解决
查询当前docker info设置位置
使用如下命令,查询docker根目录位置:
docker info
输入上述命令后,找到其中一行包含Docker Root Dir:
里面就包含了当前Docker根目录位置。
/etc/docker/daemon.json
创建docker默认配置文件,上面这个配置文件位置是在Linux上面生效。
# 先停止docker systemctl stop docker sudo vim /etc/docker/daemon.json
具体内容如下:
{ "data-root": "/data/zyl/docker", "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }
修改这个配置文件,主要就是设置一下docker根目录位置,以及设置一下滚动日志文件限制,这样docker的日志文件就不会无限增长。最大为10m,最多3个文件。
迁移原有docker数据
cp -arp /var/lib/docker/* /data/zyl/docker
将原有的根目录数据,复制到新的根目录中。
重新加载配置
systemctl daemon-reloadsystemctl start docker
重启docker容器
上面的步骤,都是在root用户中完成。当docker启动成功后,切回普通用户,重启所有docker容器即可。
总结
在使用docker的过程中,需要注意docker的根目录磁盘位置,默认情况下docker的日志是没有限制的,所有,除了要修改根目录位置到比较大的地方,还需要设置docker滚动日志方式。
参考
- daemon-configuration-file
- JSON File logging driver
- Docker修改默认存储路径 /var/lib/docker
- Docker目录/var/lib/docker/containers文件太大
- Change Docker Default Root Data Directory
- Relocating the Docker root directory
到此这篇关于Docker根目录迁移与滚动日志设置方法的文章就介绍到这了,更多相关docker根目录迁移内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!