docker コンテナに docker execで入った際、.bash_profileが読み込まれない事への対処

docker コンテナに docker execで入った際、.bashrcに記載した設定は読みこれまれるが .bash_profileが読み込まれなかった。 具体的には以下のように記載した設定が読み込まれなかった。

export http_proxy=http://<hogehoge>

原因は、docker exec とかで普通に入った場合はログイン扱いにはならないようである。 そのため、bashコマンドのオプションでloginを明示的に指定する。

$ docker exec -it <cntainer名> bash --login
# printenv |grep http_proxy
http_proxy=http://<hogehoge>

読み込まれたことを確認した。

参考

実行スクリプト1行目に書かれているbashの「-login」は何? - ITmedia エンタープライズ

docker環境でbash_profileが反映されない CodeLab(コードラボ)技術ブログ