この記事では、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 の使い方と違い
JavaScript 入門JavaScript は軽量なインタープリタ型の Web 開発言語です。言...
1. インストール1. ダウンロードMySQLをダウンロードするには、MySQL公式サイトhttp:...
モバイル デバイスでは、フレックス レイアウトが非常に便利です。デバイスの幅に応じてコンテナーの幅を...
アプリケーションシナリオ多くの場合、Linux サーバーに tomcat や nginx などのソフ...
Linux の scp コマンド (Windows では scp は使用できません) と、mysql...
序文多くの友人は Mac コンピューターを持っていないと言っていますが、Windows 開発は実際に...
さまざまな色の16進コード表[パート1] 赤とピンク、およびそれらの 16 進コード。 #99003...
オペレーティング システム: windows10_x64 Python バージョン: 3.6.8仮想...
Web ページやフォームを設計するたびに、さまざまなブラウザ、特に IE ファミリの互換性の問題に悩...
Vue+jsはビデオのフェードインとフェードアウトを実現します。参考までに、具体的な内容は次のとおり...
ウィンドウの中央にブロック要素の位置を設定する方法ブロック要素をウィンドウの中央に配置する上記の方法...
目次古典的なアプローチ質問その他の質問注意が必要な問題古典的なアプローチご存知のとおり、アカウントの...
この記事の例では、検証コードの動的干渉を実装するためのjsの具体的なコードを共有しています。具体的な...
コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...
私はデータベースツールとして Navicat を使用しています。他のものも同様です。 1. Navi...