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

推薦する

Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法

1 Tomcatをダウンロードして起動する公式サイト http://tomcat.apache.or...

HTMLの基礎を詳しく解説(第2部)

1. リストリスト ulコンテナーには、一貫した構造とスタイルを持つテキストまたはグラフの形式が読...

MySQL v5.7.18 解凍バージョンのインストール詳細チュートリアル

MySQLをダウンロード5.1.1.1 より前のバージョン私のコンピュータは64ビットなので、Win...

Jenkins の docker-compose デプロイメントと構成に関する詳細なチュートリアル

Docker-compose デプロイメント構成 Jenkins 1. Docker-compose...

Vue はチャット ボックスで絵文字を送信する機能を実装します

vueチャットボックスで絵文字を送信し、vueインターフェースで絵文字を送信するための具体的なコード...

フォームを送信した後、別のファイルに移動する

<br />質問:特定のファイルにジャンプするには、HTML でどのように記述すればよい...

CSS でフロートをクリアするための完全ガイド (要約)

1. 親divは疑似クラスafterとzoomを定義します <スタイル タイプ="...

MySQL の時間保持問題に関する簡単な分析

MySQL のデフォルトの時間タイプ (datetime と timestamp) の精度は秒です。...

Linux デバイス用ネットワーク ドライバーの紹介

有線ネットワーク: イーサネット 無線ネットワーク: 4G、WiFi、Bluetooth、5G 概要...

Vue の状態管理: Vuex の代わりに Pinia を使用する

目次1. ピニアとは何ですか? 2. Piniaは使いやすい3. ユーザーエクスペリエンス1. ピニ...

ウェブサイトにダークモード切り替え機能を持たせるための純粋なCSSフリー実装コード

序文ダーク モードの概念は、 MacOS系統のMojaveに由来し、ユーザーが選択できる 2 つのス...

Linux環境変数の設定に関する完全なガイド

Linux環境変数の設定ソフトウェアのインストールをカスタマイズする場合、多くの場合、環境変数を設定...

MySQL テーブル自動増分 ID オーバーフロー障害レビュー ソリューション

問題: MySQLテーブル内の自動増分IDのオーバーフローによりビジネスブロックが発生した背景: t...

Windows 7 の mysql6.x で中国語の文字化けが発生する問題に対する完璧な解決策

1. コマンドラインでMySQLサービスを停止します: net stop mysql stop my...

Linux と Windows でスケジュールされたタスクを設定する方法

目次リナックス1. crontabの基本的な使い方2. ログを有効にする3. スケジュールされたタス...