#author("2023-06-13T03:01:48+09:00","default:ryuichi","ryuichi")
#author("2023-06-13T03:09:18+09:00","default:ryuichi","ryuichi")
* Proxy環境で使う - Linux [#p86f6482]
** Dockerデーモン側の設定 [#xc5d3e04]
- プロキシ環境でDockerを使うには、docker pullなどする時にDockerデーモンがプロキシを使うように設定しないといけない
*** dockerd起動時に環境変数でプロキシを渡す [#d5a326d1]
/etc/default/docker
export HTTP_PROXY="http://proxy.example.com:8080"
export HTTPS_PROXY="http://proxy.example.com:8080"
- 上はUbuntu20.04の例
- いずれのディストリビューションにせよ、dockerd起動時に環境変数でプロキシを渡す
- Ubuntu 20.04の場合は/etc/default/dockerだが、他のディストリビューションでは異なる
*** 設定の確認 [#z0e156ac]
$ docker info | grep -i proxy
HTTP Proxy: http://proxy.example.com:8080
HTTPS Proxy: http://proxy.example.com:8080
*** プロキシが動作しているか確認 [#nda3b7dd]
$ docker pull hello-world
** Dockerクライアント側の設定 [#sd481f13]
- Dockerコンテナがプロキシを通してインターネットにアクセスするように、Dockerクライアント側の設定が必要
*** ~/.docker/config.json [#gc5d731b]
*** 方法 1 ~/.docker/config.json [#gc5d731b]
{
"proxies":
{
"default":
{
"httpProxy": "http://192.168.1.12:3128",
"httpsProxy": "http://192.168.1.12:3128",
"noProxy": "*.test.example.com,.example2.com,127.0.0.0/8"
}
}
}
*** 方法 2 環境変数 [#zd7ba7ed]
docker run --env HTTP_PROXY="http://proxy.foo.com:8080" -it alpine /bin/bash
*** 参考 [#zddb25a8]
https://docs.docker.jp/network/proxy.html