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根目录迁移内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
docker-compose java.net.UnknownHostException问题
这篇文章主要介绍了docker-compose java.net.UnknownHostException问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-05-05
docker的WARNING:bridge-nf-call-iptables is disabled
这篇文章主要介绍了docker的WARNING:bridge-nf-call-iptables is disabled的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-02-02
Docker Desktop虚拟化不支持导致启动失败问题及解决
文章详细介绍了Docker Desktop启动失败的常见原因及解决方法,包括BIOS/UEFI设置、Windows功能开启、重置环境、处理公司电脑策略、升级Windows等2026-01-01
docker swarm如何在指定的node上运行指定的容器
这篇文章主要介绍了docker swarm如何在指定的node上运行指定的容器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-07-07


最新评论