docker出现镜像解压不成功问题的解决办法

当Docker因存储空间不足导致解压中断时,可以通过两种方法解决:一是停止Docker服务,手动迁移数据到新目录并修改配置文件;二是创建系统配置文件,定义新的存储位置并重载Docker服务。完成这些步骤后,需确认容器运行正常并可安全删除旧的存储目录。
摘要由CSDN通过智能技术生成

在操作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/目录中的文件,然后就好了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值