背景
sudo apt update
やnpm install
、git clone
、さらにはdocker serach [package]
を実行するときに、まさか Proxy の設定が必要とは知らず、エラーログを見て検索してエラーログを見て検索...といった多大な労力を割いてしまった。
今後そのようなことがないように備忘録として、本記事を投稿する。
Ubuntu の Proxy 設定
Proxy の設定をしないとsudo apt update
などによる外部との接続はできない。
そのため、初めに以下のような設定をする必要がある。
$ sudo vi /etc/environment
http_proxy="http://proxy.example.com:8080/"
HTTP_PROXY="http://proxy.example.com:8080/"
https_proxy="http://proxy.example.com:8080/"
HTTPS_PROXY="http://proxy.example.com:8080/"
ftp_proxy="ftp://proxy.example.com:8080/"
FTP_PROXY="ftp://proxy.example.com:8080/"
no_proxy=".example.co.jp,.test.local,server1.example.com,server2.example.com"
npm の Proxy 設定
Proxy 環境下では Ubuntu 自身の Proxy を設定しても、npm 用の Proxy 設定をしないとnpm install
による外部との接続ができない。
そのため、以下のような設定をする必要がある。
1. 現在の設定の確認
まずは現在の npm の設定を確認する。
$ npm config ls -l
2. npm 用の Proxy の設定
デフォルトでは環境変数の HTTP_PROXY か http_proxy の値を見るらしいが、自分の場合は設定したにもかかわらず通信ができなかったので、以下の設定で npm に Proxy 設定を行った。
$ npm config set proxy http://proxy.example.com:8080
$ npm config set https-proxy http://proxy.example.com:8080
Git の Proxy 設定
こちらは Proxy の設定というよりかは初期設定に近い話であるが、Proxy の設定も必要なので、この記事でまとめることにする。
1. Git のユーザ設定
$ git config --global user.name "First-name Family-name"
$ git config --global user.email "username@example.com"
2. Git の Proxy 設定
$ git config --global http.proxy http://proxy.example.com:8080
$ git config --global https.proxy http://proxy.example.com:8080
Docker の Proxy 設定
Docker にも Proxy の設定が必要であったので、ここにまとめる。
1. Docker 自身の Proxy 設定
$ sudo mkdir -p /etc/systemd/system/docker.service.d
$ echo -e "[Service]\nEnvironment=\"HTTP_PROXY=http://proxy.example.com:8080/\"" | sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
2. Container 用の Proxy 設定
以下を記述することで、Container の環境変数HTTP_PROXY
に Proxy の URL がセットされる。
$ mkdir ~/.docker
$ vi ~/.docker/config.json
{
"proxies":
{
"default":
{
"httpProxy": "http://your.proxy.url:port"
}
}
}