前言

docker默认数据存储目录为/var/lib/docker,在docker的使用中随着下载镜像越来越多,构建镜像、运行容器越来越多, 数据目录必然会逐渐增大;当所有docker镜像、容器对磁盘的使用达到上限时,就需要对数据目录进行迁移。

查看磁盘大小

[root@localhost system]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                  16G     0   16G    0% /dev
tmpfs                     16G     0   16G    0% /dev/shm
tmpfs                     16G   12M   16G    1% /run
tmpfs                     16G     0   16G    0% /sys/fs/cgroup
/dev/mapper/centos-root   50G   40G   11G   80% /
/dev/mapper/centos-home  957G   14G  944G    2% /home
/dev/vda1               1014M  152M  863M   15% /boot
tmpfs                    3.2G     0  3.2G    0% /run/user/0

此处,我们可以看到,home的存储空间最大,我们将docker迁移到这个目录下。

停止docker服务

systemctl stop docker

创建新目录

mkdir -p /home/docker/lib

拷贝原数据

cp -r /var/lib/docker/ /home/docker/lib/

查找docker.service文件位置

[root@localhost system]# systemctl status docker.service
● docker.service - Docker Application Container Engine
############# 我们可以看到docker.service的存储位置在/etc/systemd/system/docker.service
Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: inactive (dead) since 四 2023-06-29 18:20:51 CST; 14min ago
Docs: https://docs.docker.com
Process: 1154 ExecStart=/usr/bin/dockerd (code=exited, status=0/SUCCESS)
Main PID: 1154 (code=exited, status=0/SUCCESS)

修改docker.service文件

vim /etc/systemd/system/docker.service
### 找到 ExecStart=/usr/bin/dockerd 配置,新增--data-root=/home/docker/lib/docker
### 原配置
ExecStart=/usr/bin/dockerd
### 修改后配置
### 新版docker使用--data-root,旧版使用--graph=/home/docker/lib/docker
ExecStart=/usr/bin/dockerd --data-root=/home/docker/lib/docker

重启docker

systemctl daemon-reload
systemctl restart docker
systemctl enable docker

确认修改

docker info

执行结果

...
### 看到此处代表已经修改成功了
Docker Root Dir: /home/docker/lib/docker
...

再次确认

df
overlay                 1003251076 14163212 989087864    2% /home/docker/lib/docker/overlay2/2f487483e581469c5731a20e4f775591caaeb8634ea3c6a8a325c15cd877ab1f/merged
overlay                 1003251076 14163212 989087864    2% /home/docker/lib/docker/overlay2/52ecff0880adeee2444dabd749259f589f2311d84479563cd0561025e200321d/merged
overlay                 1003251076 14163212 989087864    2% /home/docker/lib/docker/overlay2/6fb351e9034522ef64ba94056c1e957dd62cde9e4a508300021a12d63dc20d0b/merged

到此这篇关于docker存储目录迁移教程的文章就介绍到这了,更多相关docker存储目录迁移内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

发表回复