zoukankan      html  css  js  c++  java
  • 使用dockerfile克隆私有git仓库

    我复制了这个代码从似乎是各种工作dockerfiles,这里是我的:
    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
    	StrictHostKeyChecking no
    " >> /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相同的文件夹,是我的本地键的副本,可以克隆这个repo没有问题。

    编辑:

    在我的dockerfile我可以添加:

    RUN cat /root/.ssh/id_rsa

    它打印出正确的密钥,所以我知道它被正确地复制。

    我也试图做,因为noah建议和跑:

    RUN echo "Host bitbucket.org
    	IdentityFile /root/.ssh/id_rsa
    	StrictHostKeyChecking 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
    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
  • 相关阅读:
    什么是线程安全和线程不安全
    C# 实现Dictionary数据对象的深度拷贝
    数据库设计三大范式
    Socket 短连接、长连接
    第二篇:MongoDB高级查询
    如何在oracle中导入导出dmp数据库文件
    以太网中的UDP编程:udp分包问题
    CocosBuilder 值得关注的一个新项目
    [转载]iPhone程序到iPad程序的移植问题
    DWR使用总结
  • 原文地址:https://www.cnblogs.com/ExMan/p/13040263.html
Copyright © 2011-2022 走看看