ちょっとした技術メモを忘れないうちに書いていく

proxy環境でDockerを使用するときの設定

2019-07-29

proxy設定方法はよく変わる


proxy 設定が必要な環境の ubuntu18.04 で Docker を利用する際に行った設定メモ。

apt ソースの更新(sudo apt-get update)

まずは「sudo apt-get update」を実施する際に必要な設定。 /etc/apt/apt.conf に proxy の記述を追記する(ファイルがない場合は作成する)。

/etc/apt/apt.conf
Acquire::http::proxy "http://proxy_address:port/";
Acquire::https::proxy "http://proxy_address:port/";

Docker のインストール

公式サイトのインストール手順をを元に実施。 下記の curl コマンドを実行する際に-x オプションで proxy を指定する。

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -x http://proxy_address:port/ | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable test edge"
sudo apt-get update
sudo apt-get install docker-ce

docker コマンド

docker run hello-world を実行するのに proxy 設定が必要。 /etc/systemd/system/docker.service.d/配下に 「http-proxy.conf」、「https-proxy.conf」を作成し proxy 情報を記述する。

http-proxy.conf、https-proxy.conf
[Service]
Environment="HTTP_PROXY=http://proxy_address:port/"

設定後、Docker のリロードを行うと docker run hello-world の結果が表示される。

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo docker run hello-world

Dockerfile

構築時にダウンロードが必要な場合は、Dockerfile でも proxy 設定が必要。 Dockerfile 内で環境変数に設定する場合の例。

Dockerfile
FROM php:7.2-apache

ENV HTTP_PROXY http://proxy_address:port/
ENV HTTPS_PROXY http://proxy_address:port/