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
            
51工具盒子