在我的 Dockefile 中,我正在向 docker 添加 ssh key 并从 bitbucket 克隆一个项目。 我可以轻松地在 Docker 文件中 pull 出另一个分支。
ARG key
ARG pub_key
RUN mkdir /root/.ssh/
RUN ssh-keyscan bitbucket.org >> /root/.ssh/known_hosts
ADD $key /root/.ssh/
ADD $pub_key /root/.ssh/
RUN git clone git@bitbucket.org:******************/sql.git
WORKDIR "/sql"
RUN git pull origin testBranch
repo 被成功克隆,并且从 testBranch
成功 pull
当我使用 docker run
命令运行这个 docker 并尝试它说的任何 git 命令时
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
但 ssh key 存在于目录 /root/.ssh
最佳答案
您的 key 是针对 root 用户 (/root/.ssh/
) 添加的。我猜当您运行 docker run
时,您正在切换到另一个用户(也许是 docker)。
如果您将 id_rsa.pub
添加到正确的用户(运行 docker run
命令后的用户),那么它应该可以工作。
$ whoami
显示当前用户。
关于git - 在 Docker 中添加 ssh key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44300975/