《企业级Docker容器运维实战:Docker数据目录迁移》
文章目录
- 一、场景介绍
- 二、方案介绍
- 三、方案实施
- 总结:整理不易,如果对你有帮助,可否点赞关注一下?
一、场景介绍
通过告警信息发现根目录磁盘空间告警,排查得知docker数据目录占用了根目录空间导致,现阶段需要将docker数据目录迁移到另外一块更大的磁盘。
二、方案介绍
将原有的docker目录拷贝到另外一块更大磁盘空间目录下,建议使用mv或rsync命令,cp会丢失权限信息,可能会导致意想不到的bug。
注意:
1、如果使用了cp命令,先不要删除旧的docker数据目录,复制容器目录数据的时候一定要带arp参数,否则会发现容器起不来。
2、如果cp的时候没有带参数,又不小心删除了旧的docker数据目录,会发现重启docker后容器起不来,如果是生产环境问题就大了,需要删除旧的镜像和容器,重新导入镜像和构建容器。如果是数据库这样的容器就问题真的非常严重了。
3、对于生产环境docker数据目录迁移,如果之前没有这方面的经验,一定要先在测试环境或本地环境验证,不要直接在生产环境开干,一旦出错就会变成灾难性的生产事故了。
三、方案实施
#1、关闭docker服务
systemctl stop docker
#2、迁移docker数据目录
# 方法一:
cp -arp /opt/docker /data/basic-data
#方法二:
mv /opt/docker /data/basic-data
#方法三:
yum install rsync -y
rsync -avz /opt/docker /data/basic-data
#3、修改docker数据目录
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"bip": "172.17.0.1/24",
"storage-driver": "overlay2",
"graph": "/data/basic-data/docker",
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
#说明:docker数据目录修改可以根据实际环境修改。
#4、启动docker服务
systemctl start docker
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:Docker容器故障实战篇
还没有评论,来说两句吧...