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はタイムライン再生コンポーネントを実装します

推薦する

HTMLページのネイティブVIDEOタグはダウンロードボタン機能を隠します

Web プロジェクトを作成しているときに、紹介ビデオが別にある紹介ページに遭遇しました。この短いビデ...

スライダー効果を実装するミニプログラム

この記事の例では、スライディングブロック効果を実現するための小さなプログラムの具体的なコードを参考ま...

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

最近 Django を導入しましたが、MySQL を手動でインストールしたくなかったので、Docke...

CSS フロントエンドページレンダリング最適化属性 will-change の具体的な使用法

序文スクロールやサイズ変更などのスクロール イベントがトリガーされると、トリガーの頻度が非常に高くな...

Elasticsearch を使用する際の一般的な問題の解決策

1. redis で使用すると Netty の起動競合が発生するため、***Application ...

MySQL の低速クエリの最適化: 理論と実践からの制限の利点

多くの場合、クエリの結果は最大で 1 つのデータ レコードになることが予想されます。この場合、制限 ...

HTML ul および li タグを使用して画像を表示するサンプル コード

以下のコードをDreamweaverのコードエリアにコピーすると、プレビュー時に以下の画像が表示され...

Vue プロジェクトでのスキャンコード決済の実装例 (デモ付き)

目次需要背景思考分析UI 表示始める1. 支払いコンポーネントテンプレートを作成する2. 支払いコン...

MySQL インデックスのカーディナリティの概念と使用例

この記事では、例を使用して、MySQL インデックス カーディナリティの概念と使用方法を説明します。...

MySQLサービスの自動停止の解決策

この記事では主に、MySQL サービスの自動停止の解決策を紹介し、参考と学習のために共有します。一緒...

CentOS 7.2 に SuPHP をインストールするための詳細な手順

デフォルトでは、CentOS 7 上の PHP は apache または nobody として実行さ...

Docker で Jenkins-2.249.3-1.1 をインストールする詳細な手順

目次1. Dockerをインストールする2. Jenkinsイメージファイルを取得する3. マウント...

mysqldumpデータエクスポートの問題に関する詳細な議論

1. mysqldump の使用時にエラー (1064) が報告されます。これは、mysqldump...

HTML の空リンク href="#" と href="javascript:void(0)" の違い

# には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です...

CSS継承方法

次の背景画像を持つ div があるとします。 次の反射効果を作成します。 方法はたくさんありますが、...