修改 Docker 默认数据存储路径

docker

Author:rab

Linux Version:CentOS 7.9
Docker Version:18.06.3


会存在这样一种情况,当我们安装 Docker 的时候,如果不修改默认数据存储路径的话,其一般默认为 /var/lib/docker/ ,该目录是挂载于我们服务器系统盘(/)下的,当你后面运行的容器和下载的镜像越来越多时,就会导致磁盘空间被占满,从而无法登录操作系统。此时,就需要调整 Docker 的数据存储目录了。


1、yum 安装 Docker

这里以 yum 方式安装的 Docker 来举例

# 其实不管那种方式部署的Docker,其实原理都一样,掌握一种即可。

2、查看默认路径

docker info |grep 'Docker Root Dir'

image-20220722113558578

3、创建数据存储目录

mkdir /home/data/docker

4、修改配置文件(默认路径)

常用三种方法修改默认数据存储路径的方法(三选一即可)

  • 修改配置 daemon.json

    # 停止所有正在运行的容器
    docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
    
    # 停止docker服务
    systemctl stop docker.service
    
    # 修改配置
    vim /etc/docker/daemon.json
    {
      "registry-mirrors": ["https://q1rw9tzz.mirror.aliyuncs.com"],
      "graph": "/home/data/docker"
    }
    
    # 启动docker服务
    systemctl start docker.service
    

    ⚠:重启后,你会发现所有容器和镜像都消失了,那是因为你的 Docker 的数据目录改变了,而旧数据还在原来的 /var/lib/docker/ 下,所以此时你是看不到有任何容器和镜像的。

    解决方法就是:将默认数据/var/lib/docker/替换新数据/home/data/docker后,再次重启即可。所以在部署 Docker 的时候就应该先规划好相关路径。

  • 修改 systemd 管理脚本

    vim /lib/systemd/system/docker.service
    
    ...
    ExecStart=/usr/bin/dockerd --graph /home/data/docker
    ...
    
    # 重载
    systemctl daemon-reload
    # 重启
    systemctl restart docker.service
    
  • 软链接方式(推荐)

    # 查看docker默认数据存储路径容量大小
    [root@jenkins-node1 data]# cd /var/lib/docker
    [root@jenkins-node1 docker]# du -sh
    

    image-20220722121218262

    # mv移动到新的数据目录,并做软链接
    [root@jenkins-node1 data]# mv /var/lib/docker /home/data/
    [root@jenkins-node1 data]# ln -s /home/data/docker /var/lib/docker
    [root@jenkins-node1 data]# ll /var/lib/docker
    lrwxrwxrwx 1 root root 17 Jul 22 12:15 /var/lib/docker -> /home/data/docker
    
    # 重启一下Docker
    systemctl start docker.service
    
    # 注意:不要直接将空目录/home/data/docker软链接到docker默认的数据目录上
    # 因为这样会导致数据目标链接的数据被清空,所以先mv一下在做软链接(除非你确认你的目标数据可以被覆盖)
    

至此,Docker 默认数据目录修改完成!!

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算-Security

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值