无法在当前目录或具有完整路径的目录中添加文件

时间:2015-09-03 04:03:18

标签: docker dockerfile

当前目录

我无法在当前目录中添加文件。

$ ls
Dockerfile      id_rsa.pub
$ docker build结果:
Step 15 : ADD id_rsa.pub /home/ubuntu/.ssh
stat /mnt/sda1/var/lib/docker/aufs/mnt/3c26803340b5ac907bcf6a32dd2c45da9ca98
ee2e4106f9a57a45d244619092b/home/ubuntu/.ssh/id_rsa.pub: not a directory

完整路径

我无法在完整路径的目录中添加文件。

$ ls /Users/weed/.ssh
config      id_rsa.pub      id_rsa      known_hosts
$ docker build结果:
Step 15 : ADD /Users/weed/.ssh/id_rsa.pub /home/ubuntu/.ssh
Users/weed/.ssh/id_rsa.pub: no such file or directory

2 个答案:

答案 0 :(得分:3)

尝试在ADD

中使用尾部斜杠
ADD /Users/weed/.ssh/id_rsa.pub /home/ubuntu/.ssh/

来自文档:

  

如果< dest>不以尾部斜杠结尾,它将被视为常规文件和< src>的内容。将写在< dest>。

所以我认为/home/ubuntu/.ssh已经是容器中的一个目录,ADD命令试图将其覆盖为文件而不是在目录中创建新文件。

答案 1 :(得分:0)

您尝试添加的文件类似于SSH公钥。你能用ls -la检查id_rsa.pub的权限和〜/ .ssh的权限吗? Docker的构建过程可能无法访问其中任何一个。

相关问题