51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

docker修改数据存储目录(docker数据目录更改)

docker 满了。 Docker修改数据存储目录{#articleContentId}
系统盘爆满:

每个运行的容器都会产生日志文件,这些日志文件默认存储在宿主机的/var/lib/docker/containers目录下。随着容器数量的增加以及日志的不断累积,这个目录的空间可能会被迅速占满。

解决方案:
方案1: 修改docker 配置文件
方案2: 做软连接

方案1:

在安装docker后,docker默认的存储路径是

/var/lib/docker

1、更新docker自定义数据目录,建议先停止docker应用,这样子更好的保证数据完整性,在复制过程中就不容易丢失数据。

## 停止 docker应用
systemctl stop  docker
## 将docker 数据库目录以及其数据目录的所有数据迁移到新目录
cp -rp /var/lib/docker /mnt/data/
# 注意:
# 复制目录,要把目录的权限都给复制过去,以免出现不必要的错误 白眉大叔

2、修改docker默认数据存储目录配置,在/etc/docker/daemon.json文件添加 以下内容,若是没有/etc/docker/daemon.json文件,则新建该文件

## 新建docker配置文件
touch /etc/docker/daemon.json
## 编辑 配置文件添加 "data-root": "/mnt/data/docker"
vim /etc/docker/daemon.json
## 内容如下:
{
"data-root": "自定义目录"
}

不要忘记 ,

参考:

{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "data-root": "/mnt/data/docker"
}

3、重新加载配置文件

systemctl daemon-reload

4、重启docker应用

systemctl restart docker

5、确认docker数据储存目录已更改

docker info 

6、删除docker旧存储数据

由于已经将docker的存储数据迁移到新目录,则可以删除旧目录数据,但是我建议将目录数据保留一段时间后再删除,或者将该目录数据备份到其他地方

cd /mnt/data/users/zzy/bak

mv /var/lib/docker  .

记得把服务启动起来:

docker ps -a

docker start   2c8d44ad0077  5b9db2a3b01a

方案2: 做软连接

第一次做的时候失败了,建议用第一个方案

1停止Docker服务:

systemctl stop  docker

2迁移Docker目录到新的位置(例如/new/docker)

sudo mv /var/lib/docker /new/docker

3创建一个符号链接将新的Docker目录链接到原来的位置:

sudo ln -s /new/docker /var/lib/docker

4启动Docker服务:

systemctl start docker

docker目录满了_mob64ca12eaf194的技术博客_51CTO博客

参考: Docker修改数据存储目录_docker修改存储路径_学!学!学的博客-CSDN博客

赞(5)
未经允许不得转载:工具盒子 » docker修改数据存储目录(docker数据目录更改)