git – 在Docker中添加ssh密钥

在我的Dockefile中,我将ssh键添加到docker并从bitbucket克隆项目.
我可以轻松地在Docker文件中拉出另一个分支.

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克服了sucesfully并且从testBranch成功拉出
当我使用docker run命令运行这个docker并尝试任何git命令时,它说

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights

但是ssh密钥存在于目录/root/.ssh中

最佳答案
您的密钥是针对root用户添加的(/root/.ssh/).我想当你运行docker run时你会切换到另一个用户(也许是docker).

如果您将id_rsa.pub添加到正确的用户(运行docker run命令后的用户),那么它应该可以正常工作.

$whoami显示当前用户.

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...