Docker プルタイムアウトの解決策

Docker プルタイムアウトの解決策

最近、Docker イメージのプルが非常に不安定です。遅く、タイムアウトすることがよくあります。

xlxdsj_swagger_ui (swaggerapi/swagger-ui:) をプルしています...
最新: swaggerapi/swagger-ui からプル
ba3557a56b15: プル完了
1a18b9f93d41: プル完了
38ceab6c6432: プル完了
6104f3bd82cc: プル完了
750e0e12d70c: プル完了
d7c38a871210: プル完了
cbd9bbb7c3b7: プル完了
3d6723371070: プル完了
5e5b2de4487f: プル完了
3c84c9c2d567: プル完了
9e7d57b00bb8: プル完了
5356d2f5be08: プル完了
ダイジェスト: sha256:2a746f15dacc2f2e381b3449544b82e6c7604567f05606d957ff5b7cf7d29a47
ステータス: swaggerapi/swagger-ui:latest の新しいイメージをダウンロードしました
xlxdsj_swagger_editor (swaggerapi/swagger-editor:) をプルしています...
エラー: Get https://registry-1.docker.io/v2/: net/http: 接続待機中にリクエストがキャンセルされました (ヘッダー待機中に Client.Timeout を超えました)

一般的な解決策は 3 つあります。

1. DNSを変更する

2. イメージリポジトリのアドレスを変更する

3. ホストを変更する

socks5プロキシの使用

以下の操作はすべてCentOS7で、Ubuntuも基本的に同じで、macOSとWindowsも同じ原理です

DNSを変更する

>>> vim /etc/resolv.conf
ネームサーバー 8.8.8.8

イメージリポジトリのアドレスを変更する

>>> vim /etc/docker/daemon.json
{
 "レジストリミラー": ["https://docker.mirrors.ustc.edu.cn", "https://reg-mirror.qiniu.com"]
}
>>> systemctlデーモンリロード
>>> systemctl dockerを再起動します

ホストの変更

# digをインストールする
>>> sudo yum インストールbind-utils
>>> @114.114.114.114 レジストリ-1.docker.io を掘る
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.3 <<>> @114.114.114.114 レジストリ-1.docker.io
; (1 台のサーバーが見つかりました)
;; グローバルオプション: +cmd
;; 回答が得られました:
;; ->>HEADER<<- オペコード: QUERY、ステータス: NOERROR、ID: 18733
;; フラグ: qr rd ra; クエリ: 1、回答: 8、権限: 0、追加: 1
;; OPT擬似セクション:
; EDNS: バージョン: 0、フラグ:; udp: 512
;; 質問セクション:
;registry-1.docker.io. IN A
;; 回答セクション:
レジストリ-1.docker.io. 38 IN A 54.85.56.253
レジストリ-1.docker.io. 38 IN A 35.174.73.84
レジストリ-1.docker.io. 38 IN A 23.22.155.84
レジストリ-1.docker.io. 38 IN A 18.213.137.78
レジストリ-1.docker.io. 38 IN A 107.23.149.57
レジストリ-1.docker.io. 38 IN A 52.5.11.128
レジストリ-1.docker.io. 38 IN A 52.54.232.21
レジストリ-1.docker.io. 38 IN A 52.20.56.50
;; クエリ時間: 8 ミリ秒
;; サーバー: 114.114.114.114#53(114.114.114.114)
;; 日時: 2021 年 2 月 23 日火曜日 09:03:18 CST
;; 受信したメッセージサイズ: 177
>>> sudo vim /etc/hosts
35.174.73.84 レジストリ-1.docker.io

socks5プロキシの使用

これまでの方法がうまくいかない場合は、これを試してください

前提として、SSがインストールされている必要があります

>>> vim /etc/systemd/system/docker.service.d/http-proxy.conf
[サービス]
環境="HTTP_PROXY=socks5://127.0.0.1:1080"
>>> systemctlデーモンリロード
>>> systemctl dockerを再起動します
>>> systemctl show --property=環境 docker
環境=HTTP_PROXY=socks5://127.0.0.1:1080

補足:docker pull imageエラーやタイムアウトの解決方法、pullアドレスを国内イメージウェアハウスに変更する

Docker のデフォルトのイメージ プル アドレスは外部ウェアハウスであるため、ダウンロード速度が遅く、このエラーが報告されることもあります。

デーモンからのエラー応答: Get https://docker.elastic.co/v2/: net/http: TLS ハンドシェイク タイムアウト

解決策: /etc/docker/daemon.json ファイルを変更し、registry-mirrors キー値を追加します。

次にDockerを再起動します。

{
 "レジストリミラー": ["https://registry.docker-cn.com"]
}

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

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

<<:  CSS変数var()の使い方を理解する必要があります

>>:  VUEはタイムライン再生コンポーネントを実装します

推薦する

MySQL アカウント情報をエレガントにバックアップする方法

序文:最近、インスタンスの移行の問題に遭遇しました。データの移行後、データベースのユーザーと権限も移...

Ubuntu 18.0.4 は mysql をインストールし、エラー 1698 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されましたを解決します

序文最近 Linux を学び、その後 Win から Ubuntu に変更しました。以前インストールし...

Dockerコンテナのエクスポートとインポートの例

目次DockerコンテナのエクスポートDockerコンテナのインポ​​ートこの記事では主に、コンテナ...

【HTML要素】タグテキストの詳細説明

1. 基本的なテキスト要素を使用してコンテンツをマークアップするまず表示効果を見てみましょう:対応す...

Tomcatアーキテクチャの原則をアーキテクチャ設計に分析する

目次1. 学習目標1.1. Tomcatアーキテクチャの設計と原則をマスターして社内スキルを向上させ...

Flinkのフォールトトレラントメカニズムに関する簡単な説明:ジョブ実行とデーモン

目次1. ジョブ実行のフォールトトレランス1.1 タスクフェイルオーバー戦略1.2 ジョブ再開戦略2...

無効と読み取り専用で入力を読み取り専用に設定する

読み取り専用入力を実現するには、無効と読み取り専用の 2 つの方法があります。当然、どちらの結果も読...

Linux カーネルの copy_{to, from}_user() に関する考察

目次1. copy_{to,from}_user() とは何か1. copy_{to,from}_u...

Web ページは何ピクセルで設計すればよいでしょうか?

多くのウェブデザイナーは、ウェブページのレイアウトを設計する際に、インターフェースウェブページの幅に...

ウェブデザインにおけるテキスト入力ボックスのパラメータの説明

一般的なゲストブック、フォーラムなどでは、テキスト入力ボックスが使われています。これは HTML 言...

CSS3 のメディアクエリと rem レイアウトを組み合わせてモバイル画面に適応

CSS3 構文: (750 ピクセルのデザインの場合、1rem = 100 ピクセル) @media...

MySQLは重複しないデータ挿入を実装するためにUNIQUEを使用する

SQL UNIQUE制約UNIQUE 制約は、データベース テーブル内の各レコードを一意に識別します...

vue+node+socket ioは複数人のインタラクションを実現し、プロセス全体を解放します

1. 背景1. フロントエンドはvue + vuex + socket.io-clientを使用しま...

mysql のファイル mysql-bin.000001 とは何ですか? 削除できますか?

ポートを使用して MySQL をインストールした後、しばらくすると /var の容量が不足しているこ...

CSS の ::before と ::after 疑似要素について知らないこと

CSS には、一般的には使用されない 2 つの疑似クラス、before と :after があります...