前言docker默认数据存储目录为/var/lib/docker ,在docker的使用中随着下载镜像越来越多,构建镜像、运行容器越来越多, 数据目录必然会逐渐增大;当所有docker镜像、容器对磁盘的使用达到上限时,就需要对数据目录进行迁移。
查看磁盘大小[root@localhost system]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 16G 0 16G 0% /devtmpfs 16G 0 16G 0% /dev/shmtmpfs 16G 12M 16G 1% /runtmpfs 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% /boottmpfs 3.2G 0 3.2G 0% /run/user/0 此处,我们可以看到,home 的存储空间最大,我们将docker迁移到这个目录下。
停止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/dockerExecStart=/usr/bin/dockerd --data-root=/home/docker/lib/docker
重启dockersystemctl daemon-reloadsystemctl restart dockersystemctl enable docker
确认修改执行结果 ... ### 看到此处代表已经修改成功了 Docker Root Dir: /home/docker/lib/docker ...
再次确认overlay 1003251076 14163212 989087864 2% /home/docker/lib/docker/overlay2/2f487483e581469c5731a20e4f775591caaeb8634ea3c6a8a325c15cd877ab1f/mergedoverlay 1003251076 14163212 989087864 2% /home/docker/lib/docker/overlay2/52ecff0880adeee2444dabd749259f589f2311d84479563cd0561025e200321d/mergedoverlay 1003251076 14163212 989087864 2% /home/docker/lib/docker/overlay2/6fb351e9034522ef64ba94056c1e957dd62cde9e4a508300021a12d63dc20d0b/merged 下载地址: Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法 Docker网络IP地址冲突的解决方法 |