Docker load镜像报错:UserError processing tar file(exit status 1): ......no space left on device

原因:空间不足,镜像打包成tar以后会压缩,docker load -i xxx.tar时,若该路径磁盘空间不够则报错Error processing tar file(exit status 1): write /usr/local/cuda-10.2/targets/aarch64-linux/lib/libnvrtc.so.10.2.300: no space left on device。

解决方法:给docker换位置!

1. 停止Docker服务 

systemctl stop docker.socket 
systemctl stop docker.service
systemctl status docker #显示为"inactive",则表示已经停止Docker服务

2. 修改Docker位置

# 查看docker数据目录
docker info --format '{
   
   {.DockerRootDir}}'
# /var/lib/docker
# 具体移动位置根据需要修改
df -h /usr/local # 查看这个位置空间大小
mkdir docker # 创建文件夹
mv /var/lib/docker /usr/local/docker # 旧位置 --> 新位置

3. 创建一个符号链接

# 将旧位置链接到新目录
​​​​​​​ln -s /usr/local/docker /var/lib/docker

4. 启动Docker服务

systemctl start docker

5. 重新load镜像

docker load -i xxx.tar

注意⚠️:若load报错Error processing tar file(exit status 1): unexpected EOF,则极有可能是镜像tar包传输过程中损坏了。例如查看文件大小发现tar包为5G,传输后变成400M,若重新传输后tar包仍被损坏,则考虑可能是新目录磁盘空间不够。 

猜你喜欢

转载自blog.csdn.net/daydayup858/article/details/131353749