无法将文件添加到 tar: archive/tar: 不支持套接字

无法将文件添加到 tar: archive/tar: 不支持套接字

我不确定这是否是正确的提问地点,但我正在运行一个docker build在已安装的卷上构建图像的命令。在这个过程中我遇到了这个奇怪的错误

无法将文件 /mnt/Volumes/file/on/volume 添加到 tar: archive/tar: 不支持套接字

这是什么意思?

答案1

这对我有用。我尝试进行 docker commit 并收到消息

  ERRO[2018-10-06T20:54:22.894911981-05:00] Can't add file /var/lib/docker/overlay2/161e218868241d450115fafcadc20b52ad2c81bf2e6b83897d3dfb7081eea34d/diff/tmp/ssh-OOMPJg4ESVMk/agent.165 to tar: archive/tar: sockets not supported

我再次附加到容器并删除/tmp/ssh-OOMPJg4ESVMk/ 然后它就正常提交了。

正在发生的事情是创建了一个套接字。例如,该命令eval $(ssh-agent -s)创建了一个套接字,但我没有意识到。

删除 sock 文件并提交。

答案2

如果您确实想存档此文件,我建议您使用来自的转储扩展名star

称呼:

star -C /mnt -c -dump Volumes > /tmp/file.tar

归档所有文件类型。如果您想让备份更完整,请添加:

-sparse

-acl

-xattr

对于-dump,star 使用exustar专为精确增量备份而设计的格式。

相关内容