7

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 ハンドシェイク タイムアウトの問題に関するほとんどの投稿を確認しましたが、回答や提案が得られませんでした。私のプロキシは問題なく、ドッカーはそれを使用しています。なぜその厄介なタイムアウトが発生するのかわかりません。

4

4 に答える 4

2

私の前の答えはこの方向を指していますが、どちらも明確には述べていません.すべてのhttpsプロキシ設定を削除すると、この問題が解決します. https-proxy.confOPと同じようなファイルがありdocker pull、行を削除した後に作業を開始しましたHTTPS_PROXY。私が使用している https プロキシが問題なく動作することはわかっているので、Docker 側の問題に違いありません。

このソリューションは serverfaultで見つけました。

于 2020-02-05T14:22:25.297 に答える