Linux修改docker镜像和容器的默认存储位置

文章介绍了在CentOS7系统中,由于默认docker存储位置在系统盘可能导致空间不足的问题,提供了两种修改方法:一种是保留原有镜像和容器,通过移动数据并创建软链接至新位置;另一种是不保留原有数据,通过修改docker服务配置文件指定新的存储位置和驱动。
摘要由CSDN通过智能技术生成

刚开始使用docker时,不太关注docker 存储镜像和容器的位置,使用默认目录。当使用docker启动的容器越来越多时,镜像和容器占用空间也越来越大。特别是使用Linux云服务器ECS的情况下,默认系统盘大小有限,默认目录是在系统盘,很容易就将磁盘占满,导致无法重新启动更多的容器。
下面以CentOS 7为例,讲解如何修改docker的默认存储位置。修改默认存储位置,分为两种情况:

  1. 保留原有镜像和容器
  2. 不保留原有镜像和容器

1 保留原有镜像和容器

操作方法要点:将原有的镜像和容器移动到新的位置,并在原来的目录创建软链接,软链接指向新的镜像和容器存储位置。
例如,CentOS 7默认docker存储位置是/var/lib/docker,新的存储位置:/mnt/data/docker
操作步骤命令:

  1. 确认当前的docker存储位置

# docker info

找到Server下的Docker Root Dir标记,内容是当前docker镜像和容器的存储位置。

  1. 停止docker服务

systemctl stop docker
  1. 将原有数据移动到目标位置
    例如,CentOS 7默认docker存储位置是/var/lib/docker,新的存储位置:/mnt/data/docker

cp -rp /var/lib/docker /mnt/data/docker
  1. 创建软连接指向实际存储位置
    !!!强烈建议操作之前先进行备份!!!

# 备份
mv /var/lib/docker /var/lib/docker-bak-20211202
# 创建软连接/var/lib/docker,指向新的存储位置/mnt/data/docker
ln -s /mnt/data/docker /var/lib/docker
  1. 启动docker服务

systemctl start docker
  1. 修改结果确认
    运行docker info,检查Server下的Docker Root Dir标记,显示的路径应该是新的docker镜像和容器存储位置,如本例的/mnt/data/docker

2 不保留原有镜像和容器

例如,CentOS 7默认docker存储位置是/var/lib/docker,新的存储位置:/mnt/data/docker

  1. 确认当前的docker存储位置

# docker info

找到Server下的(1) Docker Root Dir标记,内容是当前docker镜像和容器的存储位置;(2)Storage Driver标记,内容是存储驱动器名称。

  1. 停止docker服务

systemctl stop docker
  1. 创建drop-in目录drop-in文件

mkdir /etc/systemd/system/docker.service.d
touch /etc/systemd/system/docker.service.d/docker.conf
echo "[Service]">>/etc/systemd/system/docker.service.d/docker.conf
echo "ExecStart=">>/etc/systemd/system/docker.service.d/docker.conf
echo "ExecStart=/usr/bin/dockerd --graph="/mnt/data/docker" --storage-driver=overlay2">>/etc/systemd/system/docker.service.d/docker.conf

/mnt/data/docker是新的存储位置,而overlay2是当前docker所使用的存储驱动。

  1. 重新加载服务守护程序和启动docker服务

systemctl daemon-reload
systemctl start docker
  1. 修改结果确认
    运行docker info,检查Server下的Docker Root Dir标记,显示的路径应该是新的docker镜像和容器存储位置,如本例的/mnt/data/docker

3 参考

  1. 在Centos7 更改Docker默认镜像和容器的位置



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值