linux - Docker 不会将文件从容器复制到主机的/tmp 文件夹

标签 linux docker ubuntu

我正在尝试使用 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/

相关文章:

linux - 当线程堆栈使用的内存被释放时

c# - 我可以在 CentOS 上安装适用于 Linux 的 .NET Core 和 Npgsql 吗?

python - Linux。 Heroku-Django。 Collectstatic 只读文件系统

docker - 如何从远程 selenium 网格上的 docker 运行 testcafe

c - 通过 fopen 创建文件在 Linux 上运行良好但在 Windows 上运行不正常(MS VS 2010)

linux - 如何使用 docker swarm 扩展具有多个暴露端口和多个卷的应用程序?

Docker Redis - 播种数据 - 无法通过 Dockerfile 或 shell 脚本执行 redis-cli

sql-server - 在 Ubuntu 上通过 TSQL 连接到 MSSQL 时遇到问题

ruby-on-rails - 如何在Ubuntu中安装和使用rails.vim?

linux - 为什么我的 Ubuntu Core 14.04 系统启动速度这么慢?