当前位置: 首页 > 面试题库 >

使用dockerfile clone私人git repo

许庆
2023-03-14
问题内容

我已经从似乎各种各样的工作dockerfile中复制了此代码,这是我的:

FROM ubuntu

MAINTAINER Luke Crooks "luke@pumalo.org"

# Update aptitude with new repo
RUN apt-get update

# Install software 
RUN apt-get install -y git python-virtualenv

# Make ssh dir
RUN mkdir /root/.ssh/

# Copy over private key, and set permissions
ADD id_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa
RUN chown -R root:root /root/.ssh

# Create known_hosts
RUN touch /root/.ssh/known_hosts

# Remove host checking
RUN echo "Host bitbucket.org\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config

# Clone the conf files into the docker container
RUN git clone git@bitbucket.org:Pumalo/docker-conf.git /home/docker-conf

这给我错误

Step 10 : RUN git clone git@bitbucket.org:Pumalo/docker-conf.git /home/docker-conf
 ---> Running in 0d244d812a54
Cloning into '/home/docker-conf'...
Warning: Permanently added 'bitbucket.org,131.103.20.167' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
2014/04/30 16:07:28 The command [/bin/sh -c git clone git@bitbucket.org:Pumalo/docker-conf.git /home/docker-conf] returned a non-zero code: 128

这是我第一次使用dockerfiles,但是从我阅读的内容(以及从有效的配置中获取)来看,我不明白为什么它不起作用。

我的id_rsa与我的dockerfile位于同一文件夹中,并且是我的本地密钥的副本,可以克隆此存储库。

编辑:

在我的dockerfile中,我可以添加:

RUN cat /root/.ssh/id_rsa

并且它会打印出正确的密钥,因此我知道它已正确复制。

我还尝试按照诺亚的建议去做:

RUN echo "Host bitbucket.org\n\tIdentityFile /root/.ssh/id_rsa\n\tStrictHostKeyChecking no" >> /etc/ssh/ssh_config

可悲的是这也行不通。


问题答案:

我的密钥受到密码保护,这是导致问题的原因,下面列出了一个工作文件(以帮助将来的Google员工)

FROM ubuntu

MAINTAINER Luke Crooks "luke@pumalo.org"

# Update aptitude with new repo
RUN apt-get update

# Install software 
RUN apt-get install -y git
# Make ssh dir
RUN mkdir /root/.ssh/

# Copy over private key, and set permissions
# Warning! Anyone who gets their hands on this image will be able
# to retrieve this private key file from the corresponding image layer
ADD id_rsa /root/.ssh/id_rsa

# Create known_hosts
RUN touch /root/.ssh/known_hosts
# Add bitbuckets key
RUN ssh-keyscan bitbucket.org >> /root/.ssh/known_hosts

# Clone the conf files into the docker container
RUN git clone git@bitbucket.org:User/repo.git


 类似资料:
  • 问题内容: 我是编程新手。我现在正在学习Java,有一点我不确定,是否使用私有。为什么程序员将变量设置为私有,然后通过write,getter和setter进行访问。为什么不将所有内容公开,因为我们还是要使用它。 我发现了这样的代码,并且看到注释合法但不好。我不明白为什么,请向我解释。 问题答案: 首先不仅仅将变量设为公共的主要原因是,如果您确实将其设为公共,那么以后您会更加头疼。 例如,一个程序

  • 在github文档中找不到任何东西,在这里也找不到。但是我想知道是否可以有一个用于名为的私有存储库,该存储库可以访问,只有一个人可以访问存储库本身。 我记得曾经读过一些关于github页面总是公开的东西,但似乎再也找不到了。

  • 本文向大家介绍C#私人的,包括了C#私人的的使用技巧和注意事项,需要的朋友参考一下 示例 的private关键字标记属性,方法,字段和嵌套类为仅在类中使用:            

  • 我在这里阅读了Twilio电话教程:https://www.fullstackpython.com/blog/make-phone-calls-python.html 与Twilio教程不同,Twilio教程确实会叫我的手机,但它只播放MP3或人工智能语音。我希望能够进行对话。有没有办法用Twilio API连接我电脑的麦克风并与自己的手机通话?我一直在网上搜索,却找不到办法。请帮忙。

  • 问题内容: 我一直在寻找运气不佳的网络。我试图弄清楚如何从一个用户向另一个用户发送私人消息。有很多片段,但是我不确定客户端/服务器之间的交互。如果我有要发送到的套接字的ID,该如何将其发送到服务器,以及如何确保服务器仅将消息发送到该接收者的套接字? 有没有人知道的教程或演练? 问题答案: 无需教程。关于Socket.IO的常见问题很简单: 编辑: 人们在询问以后如何获取该对象时会链接到此问题。没有