我正在尝试使用docker cp
将文件从Linux容器复制到Linux主机。我想将此文件复制到主机上的/tmp
文件夹中。
问题很简单:我可以复制到其他位置,例如主文件夹。例如,这有效:
docker cp my_container:/certificate.cer /home/adam/Documents/certificate.cer
但这不起作用:
docker cp my_container:/certificate.cer /tmp/certificate.cer
。
但是,该命令以零退出代码完成,就好像操作成功一样。我没有收到错误反馈,但文件绝对不存在。
我是否缺少某些东西,或者这是Docker CLI的错误?
edit:经过进一步的测试,我注意到在/tmp
中创建了一个新目录(即
mkdir /tmp/test
)然后尝试将文件复制到该子文件夹失败,并显示错误:stat /tmp/test/: not a directory
。
这似乎表明docker
可能正在查看其他文件夹?我不确定它在哪里。
谢谢
答案 0 :(得分:0)
我相信我已经找到了答案:
Docker是作为Ubuntu Snap安装的,据我了解,它已被沙箱化。运行sudo ls /tmp/snap.docker/tmp
向我显示了我丢失的所有文件。
因此,似乎docker的快照版本工作与预期的有所不同。卸载并从apt
重新安装可以解决此问题。 :)