私はdockerとdocker-composeの両方をホストに使用していますが、大部分はLAMPスタックです。ビルド後にPushでuser.emailとuser.nameを要求せずに、いずれかのコンテナー内でgitを使用できるようにしたいのですが。 Push.defaultやブランチ設定など、他のものと一緒に。 dockerまたはdocker-composeにgit config --list
の結果をコンテナー内のファイルにコピーさせる良い方法はありますか。これをエントリーポイントで使用してgit構成をセットアップできます。
Dockerまたはdocker-composeにgit config --listの結果をコンテナー内のファイルにコピーさせる適切な方法はありますか?それをエントリーポイントで使用してgit configをセットアップできます。
あなたは本当にあなたの目的を達成するためにそれをする必要はありません、送信箱の解決策があります:
Gitを実行するホストマシンの場合、git config --list
の内容はすべてファイルに保存されます。
git config --system
を使用して構成する場合、それらは/etc/gitconfig
に格納されますgit config --global
を使用して構成する場合、それらは~/.gitconfig
に格納されますそのため、ファイルをコンテナにマウントするだけで、ホストマシンでgit configureを再利用できます。
次のようなもの、FYI。
ホストが--global
を使用してgitを構成する場合:
docker run --rm -it -v ~/.gitconfig:/etc/gitconfig your_image_with_git git config --list
出力:user.name=xxx
ホストが--system
を使用してgitを構成する場合:
docker run --rm -it -v /etc/gitconfig:/etc/gitconfig your_image_with_git git config --list
出力:user.name=yyy
docker-compose
の場合、volumes
を構成してマウントを定義できます。
コンテナー内でgitを使用できるようにしたいが、同時にユーザー名とパスワードを何度も入力したくないと思いますか?
私が思いつくことができる方法は、Dockerfileにgit config
コマンドを追加するだけです。
その理由は、いずれにしても、パスワードをプレーンテキストで提供するためです。
したがって、私の提案は、これらの行をDockerfileに追加することです。
RUN git config --global user.name "your username"
RUN git config --global user.password "your password"