言語を切り替える
テーマを切り替える

2026年版 Docker ミラー設定ガイド:中国からの pull タイムアウトを5分で切り分ける

2026-06 更新:Docker Hub の利用制限と pull-through cache の公式ドキュメントを確認し、本文の判断軸を更新しました。2026 年は「万能のミラー」を探すより、個人開発・CI・企業ネットワークごとに設定を選ぶ方が安全です。見落としやすい変化として、2025年4月1日以降 Docker Hub は pull にレート制限(未認証は IP ごと1時間10回、無料アカウントは100回)を課しています。失敗が timeout ではなく 429 なら、ミラーを変える前にまず docker login してください。

先週金曜の午後3時、ターミナルの docker pull nginx:latest を見つめていました。カーソルが10分間点滅したあと、真っ赤な i/o timeout が表示されました。正直、これは初めてではありません。今年6月から、この状況はますます頻繁に——ネットワーク自体は問題ないのに、ブラウザは快適なのに、Docker イメージだけpullできない、という経験をした人も多いでしょう。

ネット上のチュートリアルを調べると、Alibaba Cloud ミラーソースや NetEase Cloud ミラーソースを設定しても効果がないケースがほとんど。後から知ったのですが、2024年6月6日、その日——中国国内のDocker イメージアクセラレーターがほぼ全滅しました。Alibaba Cloud、Tencent Cloud、Baidu Cloud、各大学のミラーサイトは、停止するか校内ネットワーク限定になったのです。

2023年の「Docker イメージpullを完全解決」系チュートリアルを見て、daemon.jsonを設定し、Dockerを再起動し、期待を込めて再度 docker pull したのに、また timeout——こういう経験、ありませんか?本当にがっかりします。

良いニュースは、コミュニティが維持するミラーソースのうち、いくつかはまだ生きていて、実際に使えることです。この記事では、2025年12月時点で使えるDocker ミラーソース、daemon.jsonの設定方法、問題が起きたときのトラブルシューティングを紹介します。さっそく始めましょう。

なぜDocker ミラーソースが大規模に失効したのか?

解決策の前に、何が起きたのかを押さえておきたいと思います。これまで問題なく使っていたAlibaba Cloudミラーソースが、突然使えなくなるわけがありません。

**2024年6月6日は転換点でした。**その日から、中国国内のほぼすべての主要なDocker Hubイメージアクセラレーションサービスが、順次停止または制限を発表しました。Alibaba Cloud、NetEase Cloud、Tencent Cloud、Baidu Cloudといった大手のミラーソースは、ほぼ一晩で失効。南京大学、上海交大、中科大など大学が運営するミラーサイトも、閉鎖するか校内ネットワーク限定に変更されました。

正直、このニュースを見たときは驚きました。何年も使ってきたミラーソースが、突然なくなるなんて。後から知ったのですが、主な理由は政策とコストの両面——コンプライアンス上の配慮と、高可用なイメージアクセラレーションサービスの維持コストです。

今、これらの旧ミラーソースにアクセスすると、404か接続 timeout です。daemon.json にまだ registry.cn-hangzhou.aliyuncs.comhub-mirror.c.163.com が残っているなら、実質的に無意味な設定になっています。

**Docker Hub への直接接続は?**技術的には可能ですが、中国国内のネットワーク環境では速度が遅すぎます。数百 MB のイメージをpullするのに30分以上、timeoutは日常茶飯事です。

2025年12月時点でまだ使えるミラーソース

安心してください。大手のミラーソースが落ちても、コミュニティや個人が無料で維持するDocker イメージアクセラレーションサービスがいくつか残っています。最近テストした結果、2025年12月時点で使えるミラーソースリストをまとめました。

使えるミラーソース一覧

ミラーソース名アドレス説明
軒轅ミラー(無料版)https://docker.xuanyuan.meコミュニティ運営、無料、応答速度良好
軒轅ミラー(プロ版)https://xuanyuan.cloudログイン必要、より安定
DaoCloudhttps://docker.m.daocloud.io老舗ミラーソース、比較的安定
1ms.runhttps://docker.1ms.runコミュニティ運営
1panelhttps://docker.1panel.liveコミュニティ運営
rat.devhttps://hub.rat.devコミュニティ運営
aigc2dhttps://docker-mirror.aigc2d.comコミュニティ運営

おすすめ:個人的には、軒轅ミラーと DaoCloud が比較的安定しています。軒轅ミラーの無料版 docker.xuanyuan.me だけでも十分な速度です。より安定したサービスが必要なら、プロ版への登録も検討してください。

いくつかの注意点

  1. **これらはコミュニティが自費で維持するサービスです。**以前のAlibaba CloudやTencent Cloudのような大手のバックアップはありません。いつ停止してもおかしくないので、大切に使い、乱用しないでください。

  2. **すべてのイメージが加速対象とは限りません。**一部のミラーソースは nginx、mysql、redis などの基本イメージのみ提供したり、ホワイトリスト制限がある場合があります。マイナーなイメージで timeout した場合は、ミラーソースの問題ではなく、別のミラーソースを試すか Docker Hub に直接接続してください。

  3. **複数のミラーソースを設定することをおすすめします。**daemon.json は複数の registry-mirrors に対応しており、Docker は順番に試します。最初が失敗しても、自動的に次へフォールバックし、成功率が上がります。

これらのミラーソースアドレスは、GitHub の dongyubin/DockerHub プロジェクトから見つけました。このリポジトリは使えるミラーソースリストを継続更新しているので、ブックマークしておくと便利です。

daemon.json の設定手順

ミラーソースのアドレスが揃ったら、設定に進みましょう。JSON ファイルを1つ編集して Docker を再起動するだけです。3つの主要 OS ごとに説明します。

Linux(最も一般的)

サーバーや開発マシンの多くは Linux です。ここが最重要です。

1. 設定ファイルを作成または編集

設定ファイルの場所:/etc/docker/daemon.json(ファイルがなければ作成)

sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json

2. 設定を書き込む

以下の JSON をコピーしてください。バックアップ用に3つのミラーソースを設定しています:

{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run"
  ]
}

保存して終了(vi では ESC のあと :wq で Enter)。

3. Docker サービスを再起動

sudo systemctl daemon-reload
sudo systemctl restart docker

1つ目は systemd 設定の再読み込み、2つ目は Docker の再起動です。両方実行しないと設定は反映されません。

macOS(Docker Desktop)

Mac を使っている場合、Docker Desktop の GUI から設定する方が簡単です。

1. Docker Desktop の設定を開く

メニューバーの Docker アイコン → Settings(または Preferences)

2. Docker Engine 設定を開く

左メニューで Docker Engine を選択すると、JSON エディタが表示されます。

3. JSON 設定を編集

registry-mirrors フィールドを追加します(既存の設定がある場合はカンマを忘れずに):

{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.m.daocloud.io"
  ],
  "その他の既存設定": "そのまま維持"
}

4. 適用して再起動

右下の Apply & Restart をクリックすると、Docker が自動再起動して設定が反映されます。

Windows(Docker Desktop)

Windows も macOS とほぼ同じく、Docker Desktop の GUI から設定します。

1. 設定を開く

タスクバーの Docker アイコンを右クリック → Settings

2. Docker Engine に進む

左メニューで Docker Engine を選択

3. JSON 設定を編集

同様に registry-mirrors フィールドを追加。内容は macOS と同じです。

4. 適用して再起動

Apply & Restart をクリックし、Docker の再起動完了を待ちます。

設定時の注意点

  • **JSON 形式を正しく。**最も多いミスはカンマの過不足です。JSON バリデータで確認することをおすすめします。
  • **失効したミラーソースは設定しない。**daemon.json にAlibaba CloudやNetEase Cloudのアドレスが残っていれば削除してください。もう使えません。
  • **バックアップを複数設定。**単一のミラーソースは不安定な場合があるので、2〜3 個設定すると成功率が上がります。

設定が反映されたか確認する

設定が終わったら、すぐにイメージを pull せず、まず設定が効いているか確認しましょう。どこか間違っていれば、また最初からやり直しになります。

方法1:docker info コマンドで確認

最も早い確認方法は docker info を実行し、Registry Mirrors の行を探すことです。

docker info | grep -A 5 "Registry Mirrors"

設定が成功していれば、次のような出力が表示されます:

Registry Mirrors:
  https://docker.xuanyuan.me/
  https://docker.m.daocloud.io/
  https://docker.1ms.run/

設定したミラーソースのアドレスが見えますか?表示されていれば反映済みです。なければ、daemon.json の形式と Docker の再起動を確認してください。

方法2:実際にイメージを pull してテスト

設定を見るだけでは不十分です。実際に pull して速度を確かめましょう。

docker pull nginx:latest

nginx は最も一般的な基本イメージで、ほとんどのミラーソースが対応しています。

設定が成功していれば、進捗バーがスムーズに進み、数十秒で完了します(nginx は約 100 MB 以上)。以前の10分 timeout と比べると、かなり速いはずです。

先ほどテストしたところ、軒轅ミラーで nginx を pull するのに 30 秒未満でした。十分な速度です。

それでも遅い場合は?

設定後も速度が遅い、または timeout する場合は、落ち着いて下のトラブルシューティングを参照してください。

よくある問題のトラブルシューティング

設定が正しくても、ときどき奇妙な問題が起きます。自分が踏んだ落とし穴と解決方法をまとめました。

問題1:設定後、docker info にミラーソースが表示されない

症状docker info | grep "Registry Mirrors" を実行しても何も出ない、または空のまま。

考えられる原因と対処

  1. daemon.json の形式エラー——最も多い原因。JSON は厳密で、カンマや引用符の1つでも間違えると失敗します。

    • 対処:JSONLint などで daemon.json の形式を確認。
    • よくあるミス:配列の最後の要素の後に余分なカンマ、閉じ括弧の欠落。
  2. Docker サービスを再起動していない——設定ファイルを変更しても再起動しなければ反映されません。

    • 対処:Linux では sudo systemctl restart docker、Docker Desktop では Apply & Restart。
  3. ファイル権限の問題——daemon.json の権限が不正で Docker が読めない。

    • 対処:sudo chmod 644 /etc/docker/daemon.json で権限を修正。

問題2:設定後も timeout する

症状docker info ではミラーソースが表示されているのに、docker pull が timeout する。

考えられる原因と対処

  1. pull するイメージがアクセラレーターのホワイトリスト外——すべてのイメージが加速対象ではありません。

    • 対処:nginx や redis など一般的なイメージでテスト。これらが pull できれば設定は問題なし。別のミラーソースかプロキシを検討。
  2. ミラーソースが一時的に利用不可——コミュニティ運営のミラーソースは、トラフィックやメンテナンスで一時停止することがあります。

    • 対処:daemon.json に複数のミラーソースを設定(Docker が自動フォールバック)。または時間を置いて再試行。
  3. ローカルネットワークの問題——ファイアウォール、プロキシ、DNS が原因になることも。

    • 対処:ping docker.xuanyuan.me で疎通確認、ファイアウォールルールを確認。

問題3:Docker サービスの再起動に失敗する

症状systemctl restart docker 実行後にエラーが出て、Docker が起動しない。

考えられる原因と対処

  1. daemon.json の誤りで Docker 起動失敗——JSON 形式エラーはサービス起動を妨げます。
    • 対処:journalctl -u docker.service でログを確認。
    • 応急処置:daemon.json をリネームまたは削除して Docker を復旧し、設定を再確認。
sudo mv /etc/docker/daemon.json /etc/docker/daemon.json.bak
sudo systemctl restart docker

問題4:特定のイメージだけ pull できない

症状:nginx や redis など一般的なイメージは pull できるが、特定プロジェクトのプライベートイメージや特定 registry のイメージが pull できない。

対処

  • イメージミラーアクセラレーターは Docker Hub 上の公開イメージにのみ有効です。プライベート registry(gcr.io、quay.io など)のイメージには効きません。
  • この場合の選択肢:
    1. HTTP プロキシを設定:daemon.json で http-proxyhttps-proxy を設定
    2. VPN やプロキシサービスを利用
    3. 中国国内のイメージミラー配布サイトを探す(一部コミュニティが gcr.io のイメージをミラー)

どうしてもダメな場合の代替案

上記をすべて試しても解決しない場合:

  1. Docker プロキシ——daemon.json で HTTP プロキシを設定し、Docker 経由で外部ネットワークにアクセス。
  2. ローカルプライベートイメージレジストリ——Harbor などでプライベートレジストリを構築し、必要なイメージを手動同期。
  3. 時間帯を変えて再試行——ネットワーク混雑時の問題の場合、時間を変えると改善することも。

慌てず、どの段階で問題が起きているか冷静に分析し、順を追って確認すれば、大抵は解決できます。

まとめ

ここまでが本編です。要点を整理します:

要点

  • 2024年6月6日以降、Alibaba Cloud、NetEase Cloud、Tencent Cloudなど主要 Docker ミラーソースはほぼ全滅
  • 今使えるのは主にコミュニティ運営のミラーソース(軒轅ミラー、DaoCloud など)
  • 設定方法は daemon.json に registry-mirrors を追加し、Docker を再起動
  • バックアップ用に複数のミラーソースを設定して成功率を上げる
  • 問題が起きたら JSON 形式、Docker サービス状態、ネットワーク接続を確認

以前の大手サービスほど安定ではありませんが、当面の問題解決には十分です。正直、これらのミラーソースがいつまで使えるかはわかりません。GitHub プロジェクト(dongyubin/DockerHub)をブックマークして、リストの更新を追うことをおすすめします。

この記事が Docker イメージ pull の遅さ問題の解決に役立ったら、同じ悩みを持つ友人にもシェアしてください。コメント欄で質問があれば、見かけたら返信します。

最後にひと言:コミュニティが自費で維持する無料リソースは大切に。乱用しないでください。みんな大変なんです。

2026年の可用性判断表

シーン第一候補代替策成功判定
個人開発機で時々 timeout複数の registry-mirrorsDocker daemon の HTTP/HTTPS プロキシdocker pull nginx:latest が安定して完了
CI/CD の高頻度 pullprivate pull-through cache または Harbor基本イメージを制品庫にキャッシュビルドが公開ミラーに依存しない
企業ネットワーク/透明プロキシプロキシ・証明書・DNS を先に確認その後 registry mirror を追加ブラウザではなく Docker daemon が registry に届く
レアなイメージ/プライベート registryプロキシ経由で直接接続private registry に同期公開ミラーは Docker Hub 公開イメージ向け

関連記事:Docker pull を観測可能にする

2026年版 Docker ミラー切り分けフロー

ネットワーク層を先に判断し、ミラー・プロキシ・private cache を選びます。

⏱️ 目安時間: 5 分

  1. 1

    ステップ1: Docker daemon のネットワークを確認

    docker pull、docker info、Docker サービスログで、問題がブラウザやシェルではなく daemon 側にあるか確認します。
  2. 2

    ステップ2: ミラーまたはプロキシを設定

    個人開発機では複数 registry-mirrors、企業ネットワークでは daemon proxy または pull-through cache を優先します。
  3. 3

    ステップ3: 実際のイメージで検証

    まず公共イメージ、次に業務イメージで検証します。レアなイメージの timeout を全ミラー停止と誤判定しないことが重要です。

FAQ

2026年に最適な Docker ミラーはどれですか?
恒久的な最適ミラーはありません。個人開発ではコミュニティミラー、CI や企業環境では pull-through cache や daemon proxy を使うのが現実的です。
複数の registry-mirrors を設定する意味はありますか?
Docker Hub の公開イメージには有効です。ただし gcr.io、quay.io、private registry、企業証明書や透明プロキシの問題は解決しません。
pull-through cache はいつ必要ですか?
CI が同じ基本イメージを何度も pull する場合、またはチームが安定した取得経路を必要とする場合に有効です。Docker 公式も registry mirror/pull-through cache を重複 pull 削減の方法として扱っています。
設定後も timeout する場合は?
daemon.json の JSON、Docker 再起動、daemon proxy、DNS、証明書、対象イメージが Docker Hub 公開イメージかを順に確認します。
ミラーを設定しても 429(レート制限)になる場合は?
失敗が timeout か 429 かをまず確認します。2025年4月1日以降、Docker Hub は pull にレート制限を適用しています。未認証は IP ごとに1時間10回、無料 Personal アカウントは1時間100回、有料の Pro/Team/Business は fair use で無制限です。429 は中国側ミラーの停止とは別問題で、ミラーを変えても回避できないことがあります。正しい対処は無料アカウントで docker login し、上限を1時間100回に引き上げることです。特に CI では注意が必要で、GitHub Actions や GitLab SaaS のランナーは出口 IP を共有するため、10回/時間の枠を同じ IP の全員で分け合います。

6分で読めます · 公開日: 2025年12月17日 · 更新日: 2026年6月8日

関連記事

コメント

GitHubアカウントでログインしてコメントできます