web-dev-qa-db-ja.com

ローカルgit構成をdockerコンテナーにコピーしています

私はdockerとdocker-composeの両方をホストに使用していますが、大部分はLAMPスタックです。ビルド後にPushでuser.emailとuser.nameを要求せずに、いずれかのコンテナー内でgitを使用できるようにしたいのですが。 Push.defaultやブランチ設定など、他のものと一緒に。 dockerまたはdocker-composeにgit config --listの結果をコンテナー内のファイルにコピーさせる良い方法はありますか。これをエントリーポイントで使用してgit構成をセットアップできます。

6
Shardj

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を構成してマウントを定義できます。

2
lagom

コンテナー内でgitを使用できるようにしたいが、同時にユーザー名とパスワードを何度も入力したくないと思いますか?

私が思いつくことができる方法は、Dockerfileにgit configコマンドを追加するだけです。

その理由は、いずれにしても、パスワードをプレーンテキストで提供するためです。

したがって、私の提案は、これらの行をDockerfileに追加することです。

RUN git config --global user.name "your username"
RUN git config --global user.password "your password"
0
scipsycho