1

当使用docker cp将文件从我的本地机器移动/tmp/data.txt到容器时,它失败并出现错误:

lstat /tmp/data.txt:没有这样的文件或目录

该文件存在,我可以运行stat /tmp/data.txt并且cat /tmp/data.txt没有任何问题。

即使我创建另一个文件,/tmp我也会data2.txt得到完全相同的错误。

/tmp但是,如果我在外部创建一个文件~/documents并复制它,docker cp它就可以正常工作。

我查看了文档docker cp其中提到:

无法复制某些系统文件,例如/proc、/sys、/dev、tmpfs下的资源,以及用户在容器中创建的mounts

但没有提到/tmp这样的目录。

我在 Debian 10 上运行,但我的一个使用 Ubuntu 20.04 的朋友可以做到这一点。

我们都使用相同版本的docker(19.03.11)。

可能是什么原因?

4

1 回答 1

3

我想出了解决方案。

我已经安装docker了。我卸载了它 ( sudo snap remove docker) 并使用官方Docker 指南在 Debian 上安装它。

在此之后,它工作得很好。

我认为这可能是由于快照包对系统资源的访问权限有限 - 但我不确定。

于 2020-08-11T13:22:38.243 回答