心里再怎么无语,也要解决问题啊!于是我赶紧登录服务器,在服务器命令行执行命令,将当前服务器终端所在的目录切换到 Docker 镜像默认的目录下。

 

[root@localhost ~]# cd /var/lib/docker

结果却报错了,报错信息如下所示。

 

 
[root@localhost ~]# ls 
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间
-bash: 无法为立即文档创建临时文件: 设备上没有空间-

 

 

无法切换目录了。咋办?我下意识的看下服务器的磁盘情况,结果一看出事

 

我去,根目录磁盘空间占用率 100%,果然跟我想的一样。 而且输出的结果信息中,显示了几个重要的信息,如下所示。

 

 
overlay                        50G   50G   0G   100% /var/lib/docker/overlay2/d51b7c0afcc29c49b8b322d1822a961e6a86401f0c6d1c29c42033efe8e9f070/merged
overlay                        50G   50G   0G   100% /var/lib/docker/overlay2/0e52ccd3ee566cc16ce4568eda40d0364049e804c36328bcfb5fdb92339724d5/merged
overlay                        50G   50G   0G   100% /var/lib/docker/overlay2/16fb25124e9b85c7c91f271887d9ae578bf8df058ecdfece24297967075cf829/merged
 

 

这不就是 Docker 的默认安装镜像吗?

 

下一步怎么办呢?我们看到/home 目录还是比较空闲的,我们可以把 Docker 默认的镜像目录从 /var/lib/docker目录移动到 /home/docker目下,来临时缓解下服务器的压力,进行测试。其他的就等重新分配好服务器再切换吧。

 

马上开干,于是我开始迁移 Docker 默认镜像目录。

 

迁移 Docker 默认镜像目录,有两种方案,这里跟小伙伴们说下,一种方案是:软链接法;另一中方案是:修改配置法。 接下来,我们就分别看下这两种方法。

 

1.软链接法

 

(1)默认情况下 Docker 的存放位置为:/var/lib/docker,我们可以通过下面的命令来查看 Docker 默认镜像安装目录。

 

 
[root@localhost ~]# docker info | grep "Docker Root Dir"Docker Root Dir: /var/lib/docker

 

(2)接下来,我们执行如下命令停掉 Docker 服务器。

 

 
systemctl stop docker
 

 

或者

 

 
service docker stop
 

 

(3)然后将 /var/lib/docker 目录整体移动到 /home 目录下。

 

 
mv /var/lib/docker /home

 

这个过程可能时间比较长。

 

(4)接下来,再创建软链接,如下所示。

 

 
ln -s /home/docker /var/lib/docker

 

(5)最后,我们启动 Docker 服务器。

 

 
systemctl start docker
 

 

或者

 

 
service docker start
 

 

(6)再次查看 Docker 镜像的目录,如下所示。

 

 
[root@localhost ~]# docker info | grep "Docker Root Dir"Docker Root Dir: /home/docker

 

此时,Docker 镜像目录迁移成功。

 

接下来,我们再说说修改配置法。

 

2.修改配置法

 

指定镜像和容器存放路径的参数是 –graph=/var/lib/docker ,我们只需要修改配置文件指定启动参数即可。

 

这里,我使用的服务器操作系统是 CentOS。所以,可以通过如下方式方式修改了 Docker 的配置。

 

(1)停止 Docker 服务

 

 
systemctl stop docker
 

 

或者

 

 
service docker stop
 

 

(2)修改 docker 服务启动文件。

 

 
vim /etc/systemd/system/multi-user.target.wants/docker.service
 

 

在启动文件中增加如下一行代码。

 

 
ExecStart=/usr/bin/dockerd --graph=/home/docker
 

 

(3)重新加载配置并启动

 

 
systemctl daemon-reloadsystemctl start docker

 

(4)再次查看 Docker 镜像的目录,如下所示。

 

 
[root@localhost ~]# docker info | grep "Docker Root Dir"Docker Root Dir: /home/docker

 

此时,Docker 镜像目录迁移成功。