#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

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS