CentOS 7 に最新の Docker バージョン 18.06.0 がインストールされています。私のサーバーは企業ネットワーク内にあるため、プロキシ サーバーを使用してレジストリにアクセスします。Docker ドキュメントに従ってプロキシ設定を追加しました。しかし、最終的にプロキシ設定を追加すると部分的に機能しました。つまり、docker はプロキシを使用してイメージを実行前にプルしています。
しかし、今では次のエラーが発生して失敗します:
$ sudo docker run hello-world
Unable to find image ‘hello-world:latest’ locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp: net/http: TLS handshake timeout.
また、ログインは失敗します:
$ sudo docker login --username=XXXX
Password:
Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp: EOF
私のプロキシはかなり高速です。wgetまたはcurlを使用してインターネットから何かをダウンロードするために使用すると、90〜100Mbpsの速度が表示されます。yum などの私のマシン上の他のアプリケーション utils は、このプロキシを完全に使用しており、うまく機能しています。Docker だけがイメージのダウンロードに問題を抱えている理由がわかりません。
インストールと構成の詳細は次のとおりです。
バージョン:
$ sudo docker version
Client:
Version: 18.06.0-ce
API version: 1.38
Go version: go1.10.3
Git commit: 0ffa825
Built: Wed Jul 18 19:08:18 2018
OS/Arch: linux/amd64
Experimental: false
サーバ:
Engine:
Version: 18.06.0-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: 0ffa825
Built: Wed Jul 18 19:10:42 2018
OS/Arch: linux/amd64
Experimental: false
OS バージョン:
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Docker プロキシ構成:
$ cat /etc/systemd/system/docker.service.d/https-proxy.conf
[Service]
Environment=“HTTP_PROXY=http://pqr.corp.xxx.com:8080”
Environment=“HTTPS_PROXY=https://pqr.corp.xxx.com:8080”
Environment=“NO_PROXY=localhost,127.0.0.1”
この構成を追加した後、私はすでに行っています
sudo systemctl daemon-reload
sudo systemctl restart docker
具体的なヘルプを探しています。
TLS ハンドシェイク タイムアウトの問題に関するほとんどの投稿を確認しましたが、回答や提案が得られませんでした。私のプロキシは問題なく、ドッカーはそれを使用しています。なぜその厄介なタイムアウトが発生するのかわかりません。