この記事では、docker pull がリセットされる問題を解決する方法を紹介し、皆さんと共有します。詳細は次のとおりです。 例えば: $ docker pull ubuntu:16.04 リポジトリ docker.io/library/ubuntu をプルしようとしています... https://registry-1.docker.io/v2/library/ubuntu/manifests/sha256:dd7808d8792c9841d0b460122f1acf0a2dd1f56404f8d1e56298048885e45535 を取得: https://auth.docker.io/token?scope=repository%3Alibrary%2Fubuntu%3Apull&service=registry.docker.io を取得: tcp *.*.*.*:41348->50.17.62.194:443 を読み取り: ピアによって接続がリセットされました 原因: 50.17.62.194 が TCP によってリセットされたようです。 解決: 1. 利用可能な IP を見つける: $ dig auth.docker.io ; <<>> DiG 9.10.4-P6-RedHat-9.10.4-4.P6.fc25 <<>> auth.docker.io ;; グローバルオプション: +cmd ;; 回答が得られました: ;; ->>HEADER<<- オペコード: QUERY、ステータス: NOERROR、ID: 7119 ;; フラグ: qr rd ra; クエリ: 1、回答: 3、権限: 0、追加: 1 ;; OPT擬似セクション: ; EDNS: バージョン: 0、フラグ:; udp: 4096 ;; 質問セクション: ;auth.docker.io. IN A ;; 回答セクション: auth.docker.io. 60 IN A 34.193.147.40 auth.docker.io. 60 IN A 50.17.62.194 auth.docker.io. 60 IN A 52.5.246.212 ;; クエリ時間: 130 ミリ秒 ;; サーバー: *.*.*.*#53(.*.*.*.*) ;; 日時: 2017 年 3 月 7 日火曜日 11:03:29 CST ;; 受信したメッセージサイズ: 91 2. /etc/hosts を変更して、docker.io 関連のドメイン名を他の利用可能な IP に解決するように強制します。 # /etc/ホスト 34.193.147.40 レジストリ-1.docker.io auth.docker.io ちなみに、画像の説明と現在利用可能な画像プロバイダーを添付してください まず、1 つの質問を明確にする必要があります。ミラー レジストリとプライベート レジストリの違いは何ですか? daocloudからコピーした説明: 両者の間には本質的な違いがあります。 プライベート レジストリは、開発者または企業によって構築されたイメージ リポジトリです。通常は、企業内で Docker イメージを保存するために使用され、社内の開発プロセスや製品のリリースおよびバージョン管理に使用されます。ミラーはプロキシトランジットサービスです。当社(daocloud を参照)が提供するミラーサービスは、Docker Hub の公式レジストリに直接接続します。 Docker Hub にはさまざまな種類の Docker イメージが数十万個あります。 プライベート レジストリを使用する場合、Docker Pull または Dockerfile にプライベート レジストリのアドレスを直接入力する必要がありますが、通常、これによりプライベート レジストリとのバインドが発生し、柔軟性が欠如します。 Mirror サービスを使用するには、Docker デーモン構成ファイルに Mirror パラメータを追加するだけで、公式 Docker Hub にグローバルに透過的にアクセスでき、Dockerfile イメージ参照のソースを変更する必要がなくなります。 簡単に言えば、ミラーは CDN に似ており、その本質は公式キャッシュです。プライベート レジストリはプライベート サーバーに似ており、公式とは何の関係もありません。私の場合、docker hub にイメージをドラッグしたいので、対応するものは Mirror です。 yum/apt のミラーは少し異なります。実際には、公式ライブラリ ファイル全体をミラーとして独自のサーバーにドラッグし (有用かどうかに関係なく)、公式サーバーと定期的に同期します。Docker ミラーは、使用されたイメージのみをキャッシュします。 現在、中国では docker hub にアクセスするのが非常に難しいため、docker mirror を使用することが必須です。現在サービスを提供しているのは、ustc、daocloud、aliyunの3社です。以下で順に紹介していきます。 選択肢ゼロ: NetEase 163 Docker イメージ $ sudo echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://hub-mirror.c.163.com\"" >> /etc/default/docker $ サービスdockerを再起動します 一般的に言えば、NetEase の豚肉は市販の豚肉よりも美味しいです。 オプション 1: ustc ミラー ustc は、長年にわたり利用されてきた Linux ミラー サービス プロバイダーであり、Ubuntu 5.04 バージョンから使用されています。以前のブログで、ustc docker リポジトリ イメージを使用できることを説明しました。使用方法については、ustc docker イメージの使用ヘルプを参照してください。 ustc の docker イメージは速度が速く、使用していて満足しています。しかし、今日はそれが機能しないことがわかりました。おそらくこの事件に関連しているのでしょう。今日、Ubuntu をプルしようとしましたが、非常に遅かったです。Docker Hub から直接プルする必要があり、基本的に加速効果はありませんでした。 ustc docker ミラーの利点の 1 つは、登録が不要でパブリック サービスであることです (これは私がよく知っている ustc です)。 オプション2: daocloud DaoCloud も Docker アクセラレータを提供していますが、ustc とは異なり、ユーザーは使用前に登録する必要があり、トラフィックは月あたり 10 GB に制限されています。 Linux での使用は比較的簡単で、1 つのコマンドで実行できます。 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://{your_id}.m.daocloud.io 実際の変更は /usr/lib/systemd/system/docker.service で、–registry-mirror パラメータが追加されます。 ExecStart=/usr/bin/docker-current デーモン --registry-mirror=http://{your_id}.m.daocloud.io\ 設定後、設定を再読み込みして再起動する必要があります。 systemctl docker を有効にする; systemctl daemon-reload; systemctl docker を再起動する しかし!今日、DaoCloud の Docker アクセラレータを使用して非常に悪い経験をしました。加速効果をほとんど感じることができなかったので、断固として諦めました。 オプション3: alicloud Alibaba Cloud も Docker アクセラレータを提供していますが、ustc よりも面倒です。Alibaba Cloud ユーザーとして登録するだけでなく、開発者プラットフォームに参加する必要があります。しかし、昨晩これらすべてを終えた後、私はサービスが非常に良好で、プル速度が基本的に 1MB/秒であることに気づきました (私が杭州にいることも一因です)。設定方法はdaocloudと同様で、アクセラレータを起動するとURLが付与されます。 /usr/lib/systemd/system/docker.service を直接変更しました: ExecStart=/usr/bin/docker-currentデーモン --registry-mirror=https://{your_id}.mirror.aliyuncs.com\ 設定を再読み込みして再起動します: systemctl docker を有効にする; systemctl daemon-reload; systemctl docker を再起動する pull すると、やはり docker.io が表示されますが、速度が全く docker.io になりません。 # docker pull ubuntu デフォルトタグの使用: 最新 リポジトリ docker.io/library/ubuntu をプルしようとしています... 最新: docker.io/library/ubuntu からプル cad964aed91d: プル完了 3a80a22fea63: プル完了 50de990d7957: プル完了 61e032b8f2cb: プル完了 9f03ce1741bf: プル完了 ダイジェスト: sha256:28d4c5234db8d5a634d5e621c363d900f8f241240ee0a6a978784c978fe9c737 ステータス: docker.io/ubuntu:latest の新しいイメージをダウンロードしました まとめると、aliyun docker mirror には多少の不便さはあるものの、確かに現時点では最高のサービスです。もちろん、USTC が正常に戻ったら、USTC に切り替えます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MAC 上の MySQL の初期パスワードを忘れた場合の対処方法
>>: vue3 watch と watchEffect の使い方と違い
目次DockerバージョンCentOS に Docker エンジンをインストールするシステム要件古い...
次に、Centos7 に Java+Tomcat をインストールします。インターネット上には多くの記...
おそらく誰もが js の実行によって DOM ツリーの解析とレンダリングがブロックされることを知って...
<br />序文: このチュートリアルを読む前に、序文を注意深く読んでください。そうしな...
nginx がリソース圧縮を実現する原理は、ngx_http_gzip_module モジュールを介...
この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...
シーンについて話すメールを送信サードパーティのウェブサイトにHTMLを埋め込む他の編集者の記事をコピ...
優先度両方のケースで同じ条件を設定すると、異なる結果セットが生成される可能性があるのは、優先順位のた...
この記事の例では、モバイル紅包雨機能ページを実現するためのHTMLの具体的なコードを共有しています。...
目次NULLとは何か2種類のNULLなぜ「= NULL」ではなく「IS NULL」と書く必要があるの...
ウェブサイトを最適化するときは、エラー ページの使い方を学ぶ必要があります。たとえば、ウェブサイトに...
DockerにNginxをインストールするNginx は、IMAP/POP3/SMTP サービスも提...
いくつかの理由(好奇心も含む)から、数週間前に Linux デスクトップとして Xfce を使い始め...
環境Linux 3.10.0-693.el7.x86_64 Docker バージョン 18.09.0...
目次序文実装のアイデア効果:使用:メインソースコード:序文多くのケースを見た結果、単純な観点からは、...