docker安装目录迁移

在安装docker时通常是默认安装的系统盘目录/var/lib/docker,而该目录通常是比较小的,一旦镜像过多就可能出现docker无法运行的情况,这时进行docker目录的迁移就可以很好地解决问题。

docker目录的迁移其实非常简单,有以下两种方法可以实现。

方法一(推荐)

1) 目录拷贝

docker镜像, 容器等信息通常是默认存储在/var/lib/docker目录下的,因此需要先将/var/lib/docker整个目录拷贝到需要迁移的目录中去

  1. 停掉docker服务: systemctl stop docker
  2. 将docker存储目录拷贝到要迁移的目录中去(例如,此处为/home/nas/): rsync -r -avz /var/lib/docker /home/nas/
2) 链接迁移目录到原目录
mv /var/lib/docker /var/lib/docker-old
ln -s /home/nas/docker /var/lib/
3) 重启docker和验证

重启docker: systemctl start docker / systemctl restart docker
验证镜像和容器可以正常运行,即可删除/var/lib/docker-old目录(注意:在未确定镜像和容器正常运行前,千万别删除/var/lib/docker-old目录)

方法二

1) 目录拷贝

和方法1一样进行目录拷贝迁移

  1. 停掉docker服务: systemctl stop docker
  2. 将docker存储目录拷贝到要迁移的目录中去(例如,此处为/home/nas/): rsync -r -avz /var/lib/docker /home/nas/
2) 修改配置
  1. 如果不存在配置目录则创建,存在则忽略:mkdir -p /etc/systemd/system/docker.service.d/
  2. 编辑devicemapper.conf: vi /etc/systemd/system/docker.service.d/devicemapper.conf , 内容如下:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=/home/nas/docker
  1. vi /etc/docker/daemon.json 添加 {"storage-driver": "devicemapper" } , 此处不修改可能会出现Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. 注意!!!
3) 重启 docker和验证
  1. 重新加载systemd管理器配置:systemctl daemon-reload
  2. 重启docker服务: systemctl restart docker
  3. 看目录是否更改:docker info ; 显示Docker Root Dir: /home/docker/lib/docker 则表明修改成功
  4. 验证镜像和容器是否可以正常运行,如果正常即可删除原来的/var/lib/docker目录

参考链接:
https://www.cnblogs.com/insist-forever/p/11739207.html
https://github.com/coreos/bugs/issues/2340

  • 10
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
可以使用以下步骤将CentOS 7上的Docker安装目录迁移: 1. 首先,将现有的项目资源迁移到新的规划目录。使用命令`mv /var/lib/docker/* /opt/lib/docker/`将/var/lib/docker目录下的所有文件和文件夹移动到/opt/lib/docker目录下。 [1] 2. 查看当前Docker目录信息,可以使用命令`docker info | grep Dir`。这将显示当前Docker目录的路径,例如`Docker Root Dir: /var/lib/docker`。 [2] 3. 修改Docker配置文件,以便Docker使用新的安装目录。使用文本编辑器打开`/etc/docker/daemon.json`文件,并添加以下内容: ``` { "data-root": "/opt/lib/docker" } ``` 保存并关闭文件。 4. 重启Docker服务,使配置生效。使用命令`systemctl restart docker`来重启Docker服务。 此时,你的CentOS 7上的Docker安装目录就成功迁移到了/opt/lib/docker目录下。请确保在迁移过程中所有的文件和文件夹都被正确地移动了,并且Docker服务能够正常启动。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【CentOS 7】记一次迁移 Docker 容器存储目录的操作过程](https://blog.csdn.net/Rambo_Yang/article/details/109676096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值