原因:空间不足,镜像打包成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包仍被损坏,则考虑可能是新目录磁盘空间不够。