我正在尝试使用 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 的错误?
编辑:通过进一步的测试,我注意到在 /tmp
中创建一个新目录, (IE。mkdir /tmp/test
) 然后尝试将文件复制到该子文件夹中,失败并出现错误:stat /tmp/test/: not a directory
.
这似乎表明也许 docker
正在查看不同的文件夹?我不确定它会在哪里寻找。
谢谢
最佳答案
我相信我已经找到了答案:
Docker 是作为 Ubuntu Snap 安装的,据我所知,它是沙盒的。运行sudo ls /tmp/snap.docker/tmp
向我展示了我丢失的所有文件。
因此,似乎 docker 的 snap 版本的工作方式与预期略有不同。卸载它并从 apt
重新安装解决了这个问题。 :)
关于linux - Docker 不会将文件从容器复制到主机的/tmp 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63287386/