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.com や hub-mirror.c.163.com が残っているなら、実質的に無意味な設定になっています。
**Docker Hub への直接接続は?**技術的には可能ですが、中国国内のネットワーク環境では速度が遅すぎます。数百 MB のイメージをpullするのに30分以上、timeoutは日常茶飯事です。
2025年12月時点でまだ使えるミラーソース
安心してください。大手のミラーソースが落ちても、コミュニティや個人が無料で維持するDocker イメージアクセラレーションサービスがいくつか残っています。最近テストした結果、2025年12月時点で使えるミラーソースリストをまとめました。
使えるミラーソース一覧
| ミラーソース名 | アドレス | 説明 |
|---|---|---|
| 軒轅ミラー(無料版) | https://docker.xuanyuan.me | コミュニティ運営、無料、応答速度良好 |
| 軒轅ミラー(プロ版) | https://xuanyuan.cloud | ログイン必要、より安定 |
| DaoCloud | https://docker.m.daocloud.io | 老舗ミラーソース、比較的安定 |
| 1ms.run | https://docker.1ms.run | コミュニティ運営 |
| 1panel | https://docker.1panel.live | コミュニティ運営 |
| rat.dev | https://hub.rat.dev | コミュニティ運営 |
| aigc2d | https://docker-mirror.aigc2d.com | コミュニティ運営 |
おすすめ:個人的には、軒轅ミラーと DaoCloud が比較的安定しています。軒轅ミラーの無料版 docker.xuanyuan.me だけでも十分な速度です。より安定したサービスが必要なら、プロ版への登録も検討してください。
いくつかの注意点
-
**これらはコミュニティが自費で維持するサービスです。**以前のAlibaba CloudやTencent Cloudのような大手のバックアップはありません。いつ停止してもおかしくないので、大切に使い、乱用しないでください。
-
**すべてのイメージが加速対象とは限りません。**一部のミラーソースは nginx、mysql、redis などの基本イメージのみ提供したり、ホワイトリスト制限がある場合があります。マイナーなイメージで timeout した場合は、ミラーソースの問題ではなく、別のミラーソースを試すか Docker Hub に直接接続してください。
-
**複数のミラーソースを設定することをおすすめします。**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" を実行しても何も出ない、または空のまま。
考えられる原因と対処:
-
daemon.json の形式エラー——最も多い原因。JSON は厳密で、カンマや引用符の1つでも間違えると失敗します。
- 対処:JSONLint などで daemon.json の形式を確認。
- よくあるミス:配列の最後の要素の後に余分なカンマ、閉じ括弧の欠落。
-
Docker サービスを再起動していない——設定ファイルを変更しても再起動しなければ反映されません。
- 対処:Linux では
sudo systemctl restart docker、Docker Desktop では Apply & Restart。
- 対処:Linux では
-
ファイル権限の問題——daemon.json の権限が不正で Docker が読めない。
- 対処:
sudo chmod 644 /etc/docker/daemon.jsonで権限を修正。
- 対処:
問題2:設定後も timeout する
症状:docker info ではミラーソースが表示されているのに、docker pull が timeout する。
考えられる原因と対処:
-
pull するイメージがアクセラレーターのホワイトリスト外——すべてのイメージが加速対象ではありません。
- 対処:nginx や redis など一般的なイメージでテスト。これらが pull できれば設定は問題なし。別のミラーソースかプロキシを検討。
-
ミラーソースが一時的に利用不可——コミュニティ運営のミラーソースは、トラフィックやメンテナンスで一時停止することがあります。
- 対処:daemon.json に複数のミラーソースを設定(Docker が自動フォールバック)。または時間を置いて再試行。
-
ローカルネットワークの問題——ファイアウォール、プロキシ、DNS が原因になることも。
- 対処:
ping docker.xuanyuan.meで疎通確認、ファイアウォールルールを確認。
- 対処:
問題3:Docker サービスの再起動に失敗する
症状:systemctl restart docker 実行後にエラーが出て、Docker が起動しない。
考えられる原因と対処:
- 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 など)のイメージには効きません。
- この場合の選択肢:
- HTTP プロキシを設定:daemon.json で
http-proxyとhttps-proxyを設定 - VPN やプロキシサービスを利用
- 中国国内のイメージミラー配布サイトを探す(一部コミュニティが gcr.io のイメージをミラー)
- HTTP プロキシを設定:daemon.json で
どうしてもダメな場合の代替案
上記をすべて試しても解決しない場合:
- Docker プロキシ——daemon.json で HTTP プロキシを設定し、Docker 経由で外部ネットワークにアクセス。
- ローカルプライベートイメージレジストリ——Harbor などでプライベートレジストリを構築し、必要なイメージを手動同期。
- 時間帯を変えて再試行——ネットワーク混雑時の問題の場合、時間を変えると改善することも。
慌てず、どの段階で問題が起きているか冷静に分析し、順を追って確認すれば、大抵は解決できます。
まとめ
ここまでが本編です。要点を整理します:
要点:
- 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-mirrors | Docker daemon の HTTP/HTTPS プロキシ | docker pull nginx:latest が安定して完了 |
| CI/CD の高頻度 pull | private pull-through cache または Harbor | 基本イメージを制品庫にキャッシュ | ビルドが公開ミラーに依存しない |
| 企業ネットワーク/透明プロキシ | プロキシ・証明書・DNS を先に確認 | その後 registry mirror を追加 | ブラウザではなく Docker daemon が registry に届く |
| レアなイメージ/プライベート registry | プロキシ経由で直接接続 | private registry に同期 | 公開ミラーは Docker Hub 公開イメージ向け |
関連記事:Docker pull を観測可能にする
2026年版 Docker ミラー切り分けフロー
ネットワーク層を先に判断し、ミラー・プロキシ・private cache を選びます。
⏱️ 目安時間: 5 分
- 1
ステップ1: Docker daemon のネットワークを確認
docker pull、docker info、Docker サービスログで、問題がブラウザやシェルではなく daemon 側にあるか確認します。 - 2
ステップ2: ミラーまたはプロキシを設定
個人開発機では複数 registry-mirrors、企業ネットワークでは daemon proxy または pull-through cache を優先します。 - 3
ステップ3: 実際のイメージで検証
まず公共イメージ、次に業務イメージで検証します。レアなイメージの timeout を全ミラー停止と誤判定しないことが重要です。
FAQ
2026年に最適な Docker ミラーはどれですか?
複数の registry-mirrors を設定する意味はありますか?
pull-through cache はいつ必要ですか?
設定後も timeout する場合は?
ミラーを設定しても 429(レート制限)になる場合は?
6分で読めます · 公開日: 2025年12月17日 · 更新日: 2026年6月8日
Docker 実践ガイド
検索からこのページに来た場合は、前後の記事もあわせて読むと同じテーマの理解がかなり早く深まります。
前の記事
Dockerビルド高速化:キャッシュ活用でビルド時間を10倍速くする実践ガイド
Dockerのレイヤーキャッシュ、.dockerignore設定、Dockerfile最適化テクニックをマスターし、ビルド時間を10分から30秒に短縮する方法。完全なコード例とBuildKitキャッシュマウントの実践ガイド付き。
第 21 / 37 記事
次の記事
Docker Compose のサービス依存:ヘルスチェックで DB 起動順の問題を解決
Docker Compose の depends_on と healthcheck 設定を詳しく解説。実践例で DB 未準備によるアプリ起動失敗を解決。PostgreSQL と MySQL の完全テンプレート付き。
第 23 / 37 記事
関連記事
Dockerfile入門:ゼロから最初の Docker イメージを作る(実例付き)
Dockerfile入門:ゼロから最初の Docker イメージを作る(実例付き)
Docker vs 仮想マシン:5分で理解する性能差とシーン別選び方ガイド
Docker vs 仮想マシン:5分で理解する性能差とシーン別選び方ガイド
Docker インストールの落とし穴ガイド 2025:permission denied から正常起動までの完全解決策
コメント
GitHubアカウントでログインしてコメントできます