更改docker容器数据存储位置

要更改Linux系统中Docker容器文件的存储位置,需要调整Docker守护进程(dockerd)的配置,使其使用新的存储位置。以下是一种通用的方法,适用于大多数Linux发行版,尤其是那些使用Systemd作为初始化系统的版本:

步骤1: 选择一个新的存储位置

首先,确定您希望Docker容器文件存储的新位置,例如 /mnt/data/docker。确保该目录存在且有足够的磁盘空间。

步骤2: 停止Docker服务

在更改配置前,确保Docker服务已经停止:

Bash
sudo systemctl stop docker

步骤3: 迁移现有数据(可选)

如果您已经有运行中的容器或已下载的镜像,您可能希望将这些数据迁移到新位置。这通常涉及将 /var/lib/docker 目录下的内容复制到新位置:

Bash
sudo rsync -aP /var/lib/docker/ /mnt/data/docker/

步骤4: 更新Docker配置

创建或编辑Docker的配置文件 /etc/docker/daemon.json(如果文件不存在,请创建它)。添加或修改如下内容:

Json
{
  "data-root": "/mnt/data/docker"
}

这里 "data-root" 键指定了新的容器文件存储位置。保存并关闭文件。

>>>

编辑docker配置文件:
sudo vim /etc/systemd/system/multi-user.target.wants/docker.service

# 将ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock修改以下内容:
ExecStart=/usr/bin/dockerd --data-root=/mnt/docker --storage-driver=overlay

步骤5: 重新加载并启动Docker服务

应用配置更改并启动Docker服务:

Bash
sudo systemctl daemon-reload
sudo systemctl start docker

出现如下启动报错的解决方案:

解决docker启动报错:Job for docker.service failed because the control process exited with error code-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/zwlww1/article/details/129624289>>>

出现docker启动报错:Job for docker.service failed because the control process exited with error code,查看 systemctl status docker。service发现systemctl start docker报错(code=exited, status=1/FAILURE)的解决方案:

本次启动不起来与docker服务无关
具体解决问题是修改 /etc/docker/daemon.json,vim /etc/docker/daemon.json

# 添加如下内容
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
],
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}


docker服务启动不起来,需要添加存储驱动
“storage-driver”: “overlay2”,
“storage-opts”: [“overlay2.override_kernel_check=true”]

步骤6: 验证更改

确认Docker服务已成功启动,并且新的存储位置正在被使用:

Bash
sudo systemctl status docker
docker info | grep 'Root Dir'

docker info 命令的输出应显示新的 Root Dir 为 /mnt/data/docker

至此,您已经成功更改了Linux系统中Docker容器文件的存储位置。新创建的容器和镜像将会存储在这个新的位置,而不再使用旧的 /var/lib/docker。如果您之前迁移了已有数据,那么这些数据也应能正常在新位置被Docker识别和使用。

  • 30
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值