Docker のプロキシーの設定をする方法や、Dockerfileへのプロキシの記述方法など Dockerを社内で使う上で基本となる項目について解説します。
会社内でDockerを使用する際にはよくプロキシに引っかかるのでご注意ください。
- Docker入門 関連記事
- Docker for Desktopでのプロキシの設定方法( windows, mac 環境の方)
- linux 内部の docker engin のプロキシーの設定( linux 環境の方)
- Dockerfile へのプロキシの設定方法
- docker run のオプションでプロキシを設定する
Docker入門 関連記事
Docker for Desktopでのプロキシの設定方法( windows, mac 環境の方)
会社で使用するPCにはプロキシーの制限が課されている場合があります。
その場合、 Docker はそのままでは起動できません。プロキシーの設定を行うことで初めて実行可能となります。
1. docker for desktop を起動する
2. docker for desktop の設定を開く
右上の歯車アイコンからdocker for desktopの設定を開きましょう
3. Resources > Proxies の設定を開く
Resources > Proxies からプロキシの設定を開きましょう
4. manual config を押下
5. docker for desktopのプロキシを設定する
linux 内部の docker engin のプロキシーの設定( linux 環境の方)
Docker for Desktopを使わない場合、~/.docker/config.json
へ プロキシーの設定内容を記述する必要があります。
適宜<proxy_url>
を社内プロキシーurlに置き換えて設定を変更してください。
また、変更後はdocker enginの再起動が必要となりますのでご注意ください。
{ "proxies": { "default": { "httpProxy": "<proxy_url>", "httpsProxy": "<proxy_url>", "noProxy": "" } } }
Dockerfile へのプロキシの設定方法
Dockerfile を記述する際にもプロキシーの設定を書き込む必要があります。
具体的には次の内容をDockerfileに追記してください。
# 環境変数の変更 ENV HTTP_PROXY="<proxy_url>" ENV HTTPS_PROXY="<proxy_url>" ENV FTP_PROXY="<proxy_url>" ENV http_proxy="<proxy_url>" ENV https_proxy="<proxy_url>" ENV ftp_proxy="<proxy_url>" # RUNを使った環境変数の変更 RUN set HTTP_PROXY="<proxy_url>" RUN set HTTPS_PROXY="<proxy_url>" RUN set FTP_PROXY="<proxy_url>" RUN set http_proxy="<proxy_url>" RUN set https_proxy="<proxy_url>" RUN set ftp_proxy="<proxy_url>"
docker run のオプションでプロキシを設定する
本番サーバー、開発用サーバー、ローカル環境でプロキシーが異なり、プロキシの向き先を変更しなければならない場合、 Dockerfile に記述して対応する方法は柔軟性に欠けます。
なぜならば、基本的にDockerfileの内容は変更することができず、一度イメージがビルドされてしまえば上書きで対応するしか方法がありません。
そこで、docker run
のオプションに環境変数を設定することで、dockerコンテナの起動時にプロキシを設定しましょう。
docker runのオプションに以下の内容を追記してください。
docker run --env HTTP_PROXY="<proxy_url>" --env HTTP_PROXY="<proxy_url>" <イメージ名> <コマンド>