linux中docker 修改数据目录位置的网传方法测试

我的阿里云系统 为linux centos7.9 arm版,照着网上传说的各种办法尝试了怎么修改docker数据目录位置,成功和失败都做了记录。

1. 查看docker信息

docker info

输入上面的命令查看信息,可以看到docker的运行根目录

2、关闭docker 并复制数据到新目录

systemctl stop docker

创建新目录mkdir /mnt/dockerwork

也可以偷懒用sftp创建的, 我这里的mnt目录实际上是挂载了一个数据盘的目录。

复制数据:

mv /var/lib/docker /mnt/dockerwork

3、修改 docker.service 配置

一、方法一

找到 docker.service 的位置,为啥要找呢,因为我查资料对比我自己的系统目录发现,这个文件不一定是网上说的位置。网上有的说在这里/etc/systemd/system/multi-user.target.wants/docker.service,但是我系统里找不到。

find / -name docker.service

/usr/lib/systemd/system/docker.service

vi /lib/systemd/system/docker.service

修改配置,找到ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

改为ExecStart=/usr/bin/dockerd -g /mnt/dockerwork/docker -H fd:// --containerd=/run/containerd/containerd.sock

保存退出,然后刷新配置

systemctl daemon-reload

重新启动服务,下面命令视情况执行,如果服务停止了就start 如果没停止就restart

systemctl start docker

systemctl restart docker

失败了,效果如下:

chmod -R 755 /mnt/dockerwork

二、方法二

命令行输入 vi /etc/docker/daemon.json,在这个文件里输入以下内容,/data/docker 是要修改的存储路径,你们看自己想修改到哪里。

输入命令重启,查看状态,貌似又失败了。

systemctl restart docker.service

systemctl status docker

三、方法三

停止docker

systemctl stop docker

编辑配置

vi /usr/lib/systemd/system/docker.service

在 ExecStart配置行最后面,插入自定义目录配置

--graph /mnt/dockerdata

刷新配置并启动服务

systemctl daemon-reload

systemctl start docker

systemctl status docker

总结:不同的环境可能方法不一样,而且操作也可能因为我操作流程有问题,前前后后重试了3天,失败了又回滚硬盘和系统,重新安装docker再继续修改。 这个第三种方法看着好像成功了,但是最后再重启又失败了。不过第三种方法是最容易回滚的,只要去掉 --graph /mnt/dockerdata 这段配置就能复原。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值