docker は LXC コンテナ内からインターネットにアクセスできません

docker は LXC コンテナ内からインターネットにアクセスできません

次のコマンドを使用して、RedHat 8.6上でUbuntu 20.04 LXCコンテナを起動しました。

lxc launch ubuntu:20.04 --storage default -c security.privileged=true -c boot.autostart=true --network lxdbr0

コンテナに docker をインストールし、ネットワーク プロキシ設定を構成してから/etc/systemd/system/docker.service.d/http-proxy.conf、docker サービスを再起動しました。


[Service]
Environment="HTTP_PROXY=<proxy address redacted>"
Environment="HTTPS_PROXY=<proxy address redacted>"

イメージをプルしようとするとTLSハンドシェイクタイムアウトエラーが発生します

root@still-katydid:~# docker pull nginx
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout

見てみると/var/log/syslogいくつか間違いが見つかります

Dec  8 11:57:36 still-katydid dockerd[9606]: time="2022-12-08T11:57:36.486272382Z" level=warning msg="Your kernel does not support cgroup blkio weight"
Dec  8 11:57:36 still-katydid dockerd[9606]: time="2022-12-08T11:57:36.486290117Z" level=warning msg="Your kernel does not support cgroup blkio weight_device"
Dec  8 11:57:36 still-katydid dockerd[9606]: time="2022-12-08T11:57:36.487001498Z" level=info msg="Loading containers: start."
Dec  8 11:57:36 still-katydid dockerd[9606]: time="2022-12-08T11:57:36.489111401Z" level=warning msg="Running modprobe bridge br_netfilter failed with message: modprobe: WARNING: Module bridge not found in directory /lib/modules/4.18.0-372.9.1.el8.x86_64\nmodprobe: WARNING: Module br_netfilter not found in directory /lib/modules/4.18.0-372.9.1.el8.x86_64\n, error: exit status 1"
Dec  8 11:57:36 still-katydid dockerd[9606]: time="2022-12-08T11:57:36.591405424Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"

プロキシアドレスの設定は正しいことがわかっています。ファイルにも設定されており.bashrc、次のようなアドレスをcurlで取得できます。https://www.bbc.co.uk成功しました。

ファイアウォールはホストとコンテナの両方で無効になっています。

コンテナとホストを複数回再起動しました。

答え1

問題は解決しました。!パスワードに特殊文字が含まれていました。すでに でエスケープしていました%21が、docker では を 2 つ使用する必要があることがわかりました%%

そのため、Dockerプロキシパスワードでは!文字をエスケープする必要があります。%%21

詳細はこちら参考:

関連情報