デフォルトの ENV 変数を使用してDockerfileをセットアップすることができます。これは、Docker コンテナーを実行するときに構成できます。たとえば、Dockerfile には次の行があります。
ENV USERNAME ropensci
ENV EMAIL ropensci@github.com
RUN git config --global user.name $USERNAME
RUN git config --global user.email $EMAIL
偉大な。インタラクティブ セッションを開始すると、次のようになります。
docker run -it --env USERNAME="Carl" --env EMAIL=cboettig@example.com myimage /bin/bash
次にコマンドを発行するgit config --list
と、デフォルトではなく、コマンド ラインで指定した値を使用するように git が構成されていることがわかります。
ただし、Dockerfileは RStudio サーバーを実行するようにも構成されており、デーモン モードでイメージを実行するときにブラウザーにログインできます。
docker run -d -p 8787:8787 --env USERNAME="Carl" --env EMAIL=cboettig@example.com cboettig/ropensci-docker
私は localhost:8787 に移動し、RStudio にログインします。これはすべて期待どおりに機能し、git を有効にして新しい「プロジェクト」を開始しますが、RStudio は私の git 名と電子メールを見つけることができません。git config --list
RStudio メニューからシェルを開いてorを実行するecho $USERNAME
と、空の値が返されます。/bin/bash では機能するのに、RStudio では機能しないのはなぜですか?どうすれば修正できますか?