docker pullがリセットされる問題を解決する

docker pullがリセットされる問題を解決する

この記事では、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 を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • docker によってプルされたイメージがどこに保存されるかの詳細な説明
  • Docker イメージのプルとタグ操作 pull | tag
  • Docker 構成 Alibaba Cloud イメージアクセラレーション プル実装
  • docker によってプルされたイメージがどこに保存されるかの詳細な説明
  • docker イメージのプル速度が遅い問題の解決策
  • docker イメージのプル速度が遅い問題を解決する方法
  • docker によってプルされたイメージファイルが保存される場所の詳細な説明
  • docker pullイメージソースを変更する方法の詳細な説明
  • Docker プルタイムアウトの解決策

<<:  MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

>>:  vue3 watch と watchEffect の使い方と違い

推薦する

Docker のインストールと構成イメージの高速化の実装

目次DockerバージョンCentOS に Docker エンジンをインストールするシステム要件古い...

Java+Tomcat 環境の展開とインストールのプロセス図

次に、Centos7 に Java+Tomcat をインストールします。インターネット上には多くの記...

CSSがページのレンダリングをブロックするかどうかについての簡単な説明

おそらく誰もが js の実行によって DOM ツリーの解析とレンダリングがブロックされることを知って...

ウェブデザインにおける装飾要素の応用の概要

<br />序文: このチュートリアルを読む前に、序文を注意深く読んでください。そうしな...

Nginx gzip設定について

nginx がリソース圧縮を実現する原理は、ngx_http_gzip_module モジュールを介...

Reactは二次連結(左右連結)を実現する

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

CSS のインライン スタイルに変換するソリューション (css-inline)

シーンについて話すメールを送信サードパーティのウェブサイトにHTMLを埋め込む他の編集者の記事をコピ...

MySQL の左結合操作における on 条件と where 条件の違いの紹介

優先度両方のケースで同じ条件を設定すると、異なる結果セットが生成される可能性があるのは、優先順位のた...

モバイルの赤い封筒の雨機能ページを実装するための JavaScript HTML

この記事の例では、モバイル紅包雨機能ページを実現するためのHTMLの具体的なコードを共有しています。...

MySQLの3値ロジックとNULLの詳細な説明

目次NULLとは何か2種類のNULLなぜ「= NULL」ではなく「IS NULL」と書く必要があるの...

404エラーページを作成する際に注意すべき問題の簡単な分析

ウェブサイトを最適化するときは、エラー ページの使い方を学ぶ必要があります。たとえば、ウェブサイトに...

DockerにNginxをインストールする方法

DockerにNginxをインストールするNginx は、IMAP/POP3/SMTP サービスも提...

Linux で Xfce デスクトップ環境を使用すべき 8 つの理由

いくつかの理由(好奇心も含む)から、数週間前に Linux デスクトップとして Xfce を使い始め...

ホストNginx + Docker WordPress Mysqlを設定するための詳細な手順

環境Linux 3.10.0-693.el7.x86_64 Docker バージョン 18.09.0...

Vue の el-table は自動天井効果を実現します (固定をサポート)

目次序文実装のアイデア効果:使用:メインソースコード:序文多くのケースを見た結果、単純な観点からは、...