#author("2025-12-17T17:00:28+09:00","default:pengwei-admin","pengwei-admin") #author("2025-12-17T17:00:48+09:00","default:pengwei-admin","pengwei-admin") *[[ubuntu/初期設定]] [#h6d9f3c2] #contents ** PROXY設定 [#t4883288] *** Ubuntu OS全体の設定は、sudo vi /etc/environment [#idd549fa] http_proxy="http://proxy.example.com:8080" https_proxy="http://proxy.example.com:8080" no_proxy="localhost,127.0.0.1" これで、通常のaptのデフォルトのrepositoryは更新できるようになる。 apt管理外の外部repository、例えば、docker, nodejsは、公式のrepositoryであるこを証明するために、aptの*.list追加と認証キー(*.GPG)のDL追加が必要になる。 *** Dokcerインストール前の準備 [#j1f05edc] --- キーを追加 [#w742d710] sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg --- APTソースリストを修正 [#z8a55c10] echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null --- Dockerサービスにproxy設定 sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment="HTTP_PROXY=http://example:8080" Environment="http_proxy=http://example:8080" Environment="HTTPS_PROXY=http://example:8080" Environment="https_proxy=http://example:8080" Environment="NO_PROXY=localhost,127.0.0.1,10.0.0.0/8" Environment="no_proxy=localhost,127.0.0.1,10.0.0.0/8" sudo systemctl daemon-reload sudo systemctl restart docker --- 証明書が必要時は導入する # 例: corporate-proxy.crt をルートCAとして追加(Debian/Ubuntu系) sudo cp corporate-proxy.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates # 現在のCA一覧(Debian/Ubuntu系) ls /etc/ssl/certs | wc -l # 証明書検証テスト(プロキシ経由になるなら環境変数も適切にセット) curl -v https://registry-1.docker.io/v2/ *** OS全体にProxy設定せず、APTのみ設定 [#ta3fd839] sudo vim /etc/apt/apt.conf.d/apt-proxy.conf ※ファイルないときは新規追加 Acquire::http::Proxy "http://proxy.example.com:8080"; Acquire::https::Proxy "http://proxy.example.com:8080"; # dockerデーモンがプロキシを使っているか確認 -- dockerデーモンがプロキシを使っているか確認 systemctl show docker | grep -iE 'HTTP_PROXY|HTTPS_PROXY|NO_PROXY' # OS側でプロキシを環境変数に読み込んでいるか確認 echo $HTTPS_PROXY echo $NO_PROXY