プロキシ環境下では、プロキシサーバを設定しないとインターネットに接続できません。
環境変数に設定する場所は、/etc/environment
や/etc/profile.d
だったり、$HOME
の各種シェルの.profile
と、いろいろな場所で設定できます。
yum
やapt
といったコマンド毎にも設定場所があり、正しく設定されているか非常に不安になります。
さらに、各種仮想環境やコンテナ環境で、設定場所や反映されるタイミングがいろいろなので整理が必要です。
下記の方針を墨守します。
- GitにコミットするDockerfileや設定ファイルにプロキシサーバを直書きしない
- プロキシの設定をシンプルに保ち、(最終的には)ansibleのplay bookにする
- 一度に沢山考えすぎない…
OS
設定は、/etc/environment
にすることで利用するログインシェルによらず、OS全体で設定できる。
docker build
docker build
では、--build-arg
に環境変数を参照して設定する。
make
を使った場合、下記で実行環境に設定されたプロキシ設定を利用できる。
$ grep BUILD_OPTS Makefile BUILD_OPTS=--build-arg http_proxy=$(shell echo $$http_proxy) --build-arg https_proxy=$(shell echo $$https_proxy) --build-arg no_proxy=$(shell echo $$no_proxy) docker build -t $(NAME) $(BUILD_OPTS) . $ make -nB docker build -t docker-bp --build-arg http_proxy=http://proxy.co.jp:8080 --build-arg https_proxy=http://proxy.co.jp:8080 --build-arg no_proxy= . touch build $
続きは、また今度…
以上