ubuntu20 にいれたdockerがdocker pullでproxyが通らない(解決)
ubuntu20 にいれたdockerがdocker pullでproxyが通らない(解決)
いろいろ調べてみたが、http_proxy環境変数を通せばよいらしいが、うまくいかない。
systemdなどの設定ファイルなどにhttp_proxyを入れてみたが変わらず。
原因は、snapでインストールしていたためで、環境設定用ファイルがデフォルトとは違う場所にあったため。
情報がなかなか見つからず、調べるのに時間がかかった。
snapでdockerをインストールした場合の設定ファイルは
/etc/systemd/system/snap.docker.dokerd.service
にあり、さらにそのファイルには、
EnvironmentFile=-/etc/environment
の行があり、なにやら環境設定はそれに書け、ということらしい。
/etc/environmentファイルにhttp_proxy環境変数を追加することで解決できた。
/etc/environment (修正前)
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
/etc/environment (修正後)
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" HTTP_PROXY="http://<proxy_server>:<port>" HTTPS_PROXY="http://<proxy_server>:<port>"
設定ファイルを修正したら、dockerを再起動する。
$ sudo snap stop docker $ sudo snap start docker
これで、docker pull すると、指定したproxy server経由でdocker imageが取得できるようになった。