OpenMediaVault中安装Docker应用失败求助:tar头部无效错误
解决Docker部署CUPS时出现"invalid tar header"错误的方案
排查与解决步骤
排除挂载卷干扰
先尝试去掉-v /var/run/dbus:/var/run/dbus参数,执行命令:docker run -d -p 631:631 --name cupsd olbat/cupsd如果能正常运行,说明问题出在宿主机的
/var/run/dbus挂载上。此时检查该路径权限:ls -ld /var/run/dbus,确保所有者为messagebus组,权限至少为rwxr-xr-x,再重新挂载运行。清理损坏的镜像与缓存
宿主机可能存在损坏的镜像层,执行以下命令彻底清理:docker system prune -af docker image rm olbat/cupsd之后重新拉取镜像并运行:
docker pull olbat/cupsd && docker run -d -p 631:631 -v /var/run/dbus:/var/run/dbus --name cupsd olbat/cupsd检查宿主机存储系统
家庭服务器的存储可能存在文件系统错误,比如磁盘坏道、挂载异常。先卸载目标存储分区(注意备份数据),执行fsck检查修复;或者切换Docker存储目录到其他正常分区:- 停止Docker服务:
systemctl stop docker - 迁移Docker数据到新目录(示例为
/mnt/new-docker):rsync -a /var/lib/docker/ /mnt/new-docker/ - 创建/修改
/etc/docker/daemon.json:{ "data-root": "/mnt/new-docker" } - 重启Docker服务:
systemctl start docker
完成后重新尝试部署CUPS。
- 停止Docker服务:
对齐Docker版本
对比家庭服务器与虚拟机的Docker版本:docker -v,如果版本差异较大,将家庭服务器的Docker升级/降级到和虚拟机一致的版本,再测试部署。更换镜像源
拉取镜像时网络波动可能导致层损坏,修改/etc/docker/daemon.json添加国内稳定镜像源:{ "registry-mirrors": ["https://hub-mirror.c.163.com"] }重启Docker后重新拉取镜像运行。
内容的提问来源于stack exchange,提问作者Kodok Lompat
相关产品推荐
相关产品推荐

