在操作docker -i load xx.tar 命令时,如果出现解压到一半的突然就解压不了的情况。有可能是docker目录的存储空间不足过引起的问题,这时我们需要转移一下数据的位置。
方法一:
停止docker服务
systemctl stop docker; //每个liunx版本的命令不一样。
systemctl stop docker; //每个liunx版本的命令不一样。
新建一个路径目录
mkdir -p /home/chen //具体路径可以自行处理
迁移相关数据
cp -R /var/lib/docker/* /home/chen
修改docker配置(/etc/systemd/system/docker.service.d/docker-options.conf),在文件中更改–data-root即可.
方法二:
system下创建配置文件
在/etc/systemd/system/docker.service.d 目录下创建一个Drop-In文件“docker.conf”,默认 docker.service.d 文件夹不存在。所以你必须先创建它。
创建Drop-In 文件的原因,为了让Docker 服务,使用docker.conf文件中提到的特定参数,将默认服务所使用的位于/lib/systemd/system/docker.service文件中的参数进行覆盖。
定义新的存储位置现在打开docker.conf增加如下内容:
# sudo vi /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph="/mnt/new_file" --storage-driver=devicemapper
保存并退出VI编辑器,/mnt/new_file 是新的存储位置,而devicemapper是当前docker所使用的存储驱动。如果你的存储驱动有所不同,请输入之前第一步查看并记下的值。Docker官方文档中提供了更多有关各种存储驱动器的信息。现在,你可以重新加载服务守护程序,并启动Docker服务了。这将改变新的镜像和容器的存储位置。
sudo systemctl daemon-reload
sudo systemctl start docker
重载配置,重启docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
启动成功后,确定容器ok后删除/var/lib/docker/目录中的文件,然后就好了。