J'utilise à la fois docker et docker-compose pour héberger ce qui est pour la plupart une pile LAMP. Je voudrais pouvoir utiliser git dans l'un de mes conteneurs sans qu'il me demande mon user.email et user.name sur Push après avoir construit. Avec d'autres choses telles que mes paramètres Push.default et de branche. Existe-t-il un bon moyen pour que docker ou docker-compose copie les résultats de git config --list
dans un fichier dans le conteneur, que je peux ensuite utiliser avec mon point d'entrée pour configurer la configuration git.
Existe-t-il un bon moyen pour que docker ou docker-compose copie les résultats de git config --list dans un fichier dans le conteneur, que je peux ensuite utiliser avec mon point d'entrée pour configurer la configuration git.
Vous n'avez vraiment pas besoin de faire cela pour atteindre vos objectifs, il existe une solution d'envoi:
Pour votre machine hôte exécutant git, tout le contenu de git config --list
est stocké dans des fichiers:
git config --system
pour les configurer, ils sont stockés dans /etc/gitconfig
git config --global
pour les configurer, ils sont stockés dans ~/.gitconfig
Il vous suffit donc de monter les fichiers dans des conteneurs, puis de réutiliser git configure sur la machine hôte.
Quelque chose comme suit, FYI.
Si l'hôte utilise --global
pour configurer git:
docker run --rm -it -v ~/.gitconfig:/etc/gitconfig your_image_with_git git config --list
production: user.name=xxx
Si l'hôte utilise --system
pour configurer git:
docker run --rm -it -v /etc/gitconfig:/etc/gitconfig your_image_with_git git config --list
production: user.name=yyy
Pour docker-compose
, vous pouvez simplement configurer volumes
pour définir le montage.
Je suppose que vous voulez pouvoir utiliser git dans un conteneur mais en même temps, vous ne voulez pas taper votre nom d'utilisateur et votre mot de passe encore et encore?
La méthode que je peux trouver est simple, ajoutez le git config
commande dans le Dockerfile.
La raison en est que vous fournirez le mot de passe en texte clair de toute façon dans un sens ou dans l'autre.
Donc, ma suggestion est d'ajouter ces lignes au Dockerfile.
RUN git config --global user.name "your username"
RUN git config --global user.password "your password"