💨
DockerとDocker Composeをproxy環境下で使用する
DockerとDocker Composeをproxy環境下で使用するための設定をまとめる。
環境
- Ubuntu: 20.04
- Docker: 20.10.21
- Docker Compose: 2.4.1
Dockerの設定
1. systemdに環境変数を設定する
/etc/systemd/system/docker.service.d/override.conf
に下記を書き込む。
[Service]
Environment = 'http_proxy=<proxy_url>:<port>' 'https_proxy=<proxy_url>:<port>'
2. Dockerクライアントの設定
ユーザのホームディレクトリ内で ~/.docker/config.json
を作成する。
{
"proxies": {
"default": {
"httpProxy": "<proxy_url>:<port>",
"httpsProxy": "<proxy_url>:<port>",
"noProxy": "<no_proxy_url>"
}
}
}
Docker Composeの設定
1. docker-compose.ymlの設定
docker-compose.ymlに下記を追記する。
services:
test:
build:
context: .
args:
- HTTP_PROXY=$HTTP_PROXY
- http_proxy=$http_proxy
- HTTPS_PROXY=$HTTPS_PROXY
- https_proxy=$https_proxy
- NO_PROXY=$NO_PROXY
- no_proxy=$no_proxy
environment:
- HTTP_PROXY=$HTTP_PROXY
- http_proxy=$http_proxy
- HTTPS_PROXY=$HTTPS_PROXY
- https_proxy=$https_proxy
- NO_PROXY=$NO_PROXY
- no_proxy=$no_proxy
2. .envの設定
docker-compose.ymlと同じ階層に、.envを作成する。
HTTP_PROXY=<proxy_url>:<port>
http_proxy=<proxy_url>:<port>
HTTPS_PROXY=<proxy_url>:<port>
https_proxy=<proxy_url>:<port>
NO_PROXY=<no_proxy_url>
no_proxy=<no_proxy_url>
Discussion