无法在当前目录或目录中添加完整path的文件
当前目录
我无法在当前目录中添加文件。
$ 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
完整path
我不能在具有完整path的目录中添加文件。
$ 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
尝试在ADD
行中使用斜杠
ADD /Users/weed/.ssh/id_rsa.pub /home/ubuntu/.ssh/
从文档:
如果<dest>不以结尾的斜杠结尾,则将其视为常规文件,<src>的内容将写入<dest>。
所以我认为/home/ubuntu/.ssh
已经是容器中的一个目录,并且ADD
命令试图覆盖它作为一个文件,而不是在目录中创build一个新的文件。
您尝试添加的文件看起来像SSH公钥。 你可以检查id_rsa.pub上的权限,以及〜/ .ssh的权限,使用ls -la
吗? Docker的构build过程很可能无法访问其中的任何一个。