Я скопировал этот код из того, что кажется различным рабочим докер файлом, вот мой:
FROM ubuntu
MAINTAINER Luke Crooks "[email protected]"
# 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 [email protected]:Pumalo/docker-conf.git /home/docker-conf
Это дает мне ошибку
Step 10 : RUN git clone [email protected]: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 [email protected]:Pumalo/docker-conf.git /home/docker-conf] returned a non-zero code: 128
Это мой первый раз, когда я использую dockerfiles, но из того, что я прочитал (и взял из рабочих конфигураций), я не понимаю, почему это не работает.
Мой id_rsa находится в той же папке, что и мой файл docker, и является копией моего локального ключа, который не может клонировать это репо без проблем.
Изменить:
В моем файле docker я могу добавить:
RUN cat /root/.ssh/id_rsa
И он печатает правильный ключ, поэтому я знаю, что он правильно копируется.
Я также пытался сделать то, что советовал ной, и побежал:
RUN echo "Host bitbucket.org\n\tIdentityFile /root/.ssh/id_rsa\n\tStrictHostKeyChecking no" >> /etc/ssh/ssh_config
Это, к сожалению, тоже не работает.