LoginSignup
9
5

More than 3 years have passed since last update.

Linux マシン(主に Ubuntu )を初めて使用するときの Proxy 設定

Last updated at Posted at 2019-06-15

背景

sudo apt updatenpm installgit 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"
       }
   }
}

参考:Proxy 環境下のための Docker の設定

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5