2017-08-25 2 views
0

J'ai un dockerfile. Dans lequel je dois cloner un dépôt à partir de bitbucket en utilisant l'URL https mais comment est-ce que je suppose que passer un mot de passe pour compléter le clone?Et oui j'ai essayé ssh .it fonctionne mais j'ai besoin de https clone pour que certains scripts shell s'exécutent afin qu'il accepte automatiquement le mot de passe.Clonage repo bit-seau avec https en utilisant dockerfile.Comment transmettre un mot de passe?

Voici ma commande docker pour clone repo:

clone git RUN https://[email protected]/abc/xyz.git

Et est l'erreur ici je reçois tout buildind fichier docker: \

Le clonage dans « newfolder '... fatale: impossible à lire Mot de passe pour' https://[email protected] ': aucun appareil ou adresse de ce type

Ma commande de construction est:

sudo docker construire --no-cache = true -t image: build.

+1

double possible de [Est-il possible d'ignorer la saisie du mot de passe lorsque vous utilisez https: // sur GitHub] (https://stackoverflow.com/questions/5343068/is-there- un-way-to-skip-mot de passe-quand-using-https-sur-github) – Ferrybig

Répondre

1

Vous pouvez spécifier le mot de passe dans l'URL en tant que tel:

git clone https://username:[email protected]/abc/xyz.git 

Si vous ne voulez pas coder le mot de passe dans le dockerfile, vous pouvez passer comme une construction arg.

ARG password 
RUN git clone https://username:[email protected]/abc/xyz.git 

sudo docker build --build-arg password=pass --no-cache=true -t image:build .

+0

j'ai essayé cela mais toujours j'obtiens erreur suivante: clonage dans «nouveau dossier» ... fatal: impossible d'accéder ' https: // nom d'utilisateur: @ password123 @ bitbucket.org/abc/xyz.git/': Impossible de résoudre l'hôte: [email protected] –

+0

votre mot de passe commence par @. Il est interprété comme un hôte. Vous devez échapper le caractère @ par% 40 – yamenk

+0

Cela a fonctionné .. merci. –