泊坞窗文件中的COPY指令出现问题。 使用COPY将私钥和公用密钥复制到〜/ .ssh /时,文件已复制,但是在尝试SSH时似乎未使用密钥,并且需要密码
但是,当我使用指令ADD时,文件也在那里,但是这次ssh无需询问密码即可工作。
使用COPY或ADD时,在文件结果方面的行为是否有所不同?
先谢谢您
我在docker中运行OpenMPI,并在容器之间设置ssh。 使用ADD时效果很好,但使用COPY时效果不佳。
答案 0 :(得分:1)
You should generally prefer COPY超过ADD,除非您明确希望这些行为。如果文件没有URL格式的文件名也不是tar文件,则COPY和ADD相同。
COPY与ADD不太可能引起此问题。 ssh对文件所有权和权限有特别严格的要求。 Docker被证明可以复制用户0所拥有的文件,我认为它保留了原始文件的权限。这些可能与ssh要求不符。
在将ssh密钥之类的秘密复制到图像中时,您应该特别小心(我的意思是,永远不要这样做)。拥有映像的任何人都可以轻而易举地提取出密钥,这时他们可以自由地将其SSH到您的系统中。您不希望这种情况发生。