Comment accéder au repo GIT avec ma clé privée de Dockerfile
Je suis en train d'ajouter une clé privée dans mon conteneur Docker qui a accès à mes privées dépôts git. Le testing_git fichier est dans le dossier contenant Dockerfile. Je suis en train de faire un conteneur qui peut tirer git le code à la volée.
C'est mon Dockerfile:
FROM ubuntu:14.04.1
WORKDIR ~/.ssh
RUN apt-get -y install ssh
WORKDIR /var/www/html
Run apt-get -y install git
RUN mkdir ~/.ssh
ADD id_rsa /home/id_rsa
RUN cat /home/id_rsa && mv /home/id_rsa ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa && eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa && ssh-add -l && ssh-add -L && echo "Host github.com\n\tIdentityFile ~/.ssh/id_rsa" >> /root/.ssh/config && git clone [email protected]:amitbadheka/Learning-Rails
De sortie:
Step 9 : RUN mkdir ~/.ssh
---> Using cache
---> 38f2824f41d6
Step 10 : ADD id_rsa /home/id_rsa
---> Using cache
---> afae372c6a40
Step 11 : RUN cat /home/id_rsa && mv /home/id_rsa ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa && eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa && ssh-add -l && ssh-add -L && echo "Host github.com\n\tIdentityFile ~/.ssh/id_rsa" >> /root/.ssh/config && git clone [email protected]:amitbadheka/Learning-Rails.git
---> Running in edd6778a0ae6
-----BEGIN RSA PRIVATE KEY-----
MY PRIVATE KEY
-----END RSA PRIVATE KEY-----
Agent pid 12
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
2048 69:41:88:d2:5f:22:fa:63:92:2b:f9:b8:a4:1e:3c:24 /root/.ssh/id_rsa (RSA)
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrfPuszAriGJxGd16TVeWBvCt8lj88OlJ0fz5LYd2voWDUDnEmPDpvQUDZKQI+MlFfhPS+KN239XsL4X1+vdyj8xXzcBeUB+DUYW2bxZd0kLsmOPeJ0Htoat12fdjzIC/m+H+j6SkAwL+WrV/vH+tbjNZVrl+zcMvBsZipyrKHmJiwko/cqACRYGRXAAUahnVTfhQGXArqn3ioxNN5r6ZDPdv+xGZY4V9fTbHbDooEHaOz/EFu6xwoBFC2SBID3aKEQgS6C07/iRt1fJ8c8TPPvJt6vLJQ/h5LLsN2WRxDG+V5fCGqWKDdJWoyM+fOuCNOH1XTDka8d+2ZN2v+U1KX /root/.ssh/id_rsa
Cloning into 'Learning-Rails'...
**Host key verification failed.**
**fatal: Could not read from remote repository.**
Please make sure you have the correct access rights and the repository exists.
2014/12/15 18:20:47 The command [/bin/sh -c cat /home/id_rsa && mv /home/id_rsa ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa && eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_rsa && ssh-add -l && ssh-add -L && echo "Host github.com\n\tIdentityFile ~/.ssh/id_rsa" >> /root/.ssh/config && git clone [email protected]:amitbadheka/Learning-Rails.git] returned a non-zero code: 128
Alors quand j'ai utiliser la même clé, j'ai pu accéder à mon repo.
Quelqu'un peut me dire ce que je suis absent?
source d'informationauteur Amit Badheka Pykih Staff
Vous devez vous connecter pour publier un commentaire.
Le message d'erreur
Host key verification failed.
n'est pas de se plaindre de votre clé privée, mais plutôt la clé de l'hôte pour github.com. Vous pouvez le faire pour ajouter le github clef:Peut-être que vous avez vos raisons, mais en général cloner le repo git dans l'image n'est pas la meilleure façon de exécuter votre code dans un récipient. Au lieu de cela, mettre un Dockerfile à la racine de votre dépôt, et dans le Dockerfile utiliser le
ADD
commande pour inclure votre code source dans le conteneur.Comme vous l'avez écrit maintenant, votre clé privée est une partie de l'image Docker. Quelqu'un vous partager l'image avec aurez également votre clé privée.