ライブラリ / SDK
DaoCloud/public-image-mirror avatar
DaoCloud/public-image-mirror

DaoCloud public-image-mirror:海外レジストリのプレフィックスミラー

gcr 。 Ollama Ollama Docker Deepseek-R1 ollama DeepSeek Ollama [ ] contrib.rocks で作成されました。

スター 15,068フォーク 1,566ShellApache-2.0
GitHub

ひと目でわかる

これは何?
DaoCloud/public-image-mirror は gcr.io や docker.io など主要レジストリを m.daocloud.io 系ドメインへ写像し、sha256 一致と 30 日キャッシュ規則を README で公開する Shell リポジトリ。
誰に向いている?
public-image-mirror は中国本土などから docker.io/gcr.io/ghcr.io を引く DevOps/K8s チーム向き。README が示す 30 日キャッシュと tag 更新の 1 時間遅延を理解しないと latest 運用でハマりやすい。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 4 日前です。
何の言語で書かれている?
主に Shell です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

README が述べる背景とミラーの位置づけ

DaoCloud/public-image-mirror の README は、gcr.io など海外レジストリが国内から遅い問題を前提に、名前マッピングで加速するサービスだと説明します。目標は三つ:シンプルな写像、コード変更なしで新レジストリ追加、毎日の同期チェックによる安定運用。重要なのは「独立配布ではなく源 Registry の Mirror」である点で、sha256 は源と一致させ、内容は 30 日キャッシュ後に再同期が必要と README に明記されています。ライセンスは Apache-2.0、バックエンドは OpenCIDN/ocimirror とリンクされています。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

キャッシュ階層と tag 更新の遅延

Manifest はメモリ 1 時間、Blob は 1 分キャッシュと README が数値を出しています。tag が更新されても約 1 時間は古い manifest が返り得ます。Blob キャッシュ中に 30 日期限切れで 404 になるケースも README が警告しています。そのため README は @sha256 指定を最優先、次に固定バージョン tag、latest は最後と順位付けしています。latest は旧データに応答した後、バックグラウンド再同期が走る挙動だと説明されています。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

プレフィックス追加と置換の二方式

推奨は完全参照の先頭に m.daocloud.io/ を付ける方式です。例:docker.io/library/busybox → m.daocloud.io/docker.io/library/busybox。代替として docker.io を docker.m.daocloud.io に置換する表が README にあり、docker.elastic.co→elastic.m.daocloud.io、gcr.io→gcr.m.daocloud.io、ghcr.io→ghcr.m.daocloud.io、registry.k8s.io→k8s.m.daocloud.io、registry.ollama.ai→ollama.m.daocloud.io などが列挙されます。置換ルールは手動設定で issue 依頼が必要と README にあり、docker.io 以外を Docker の registry-mirrors に混ぜないよう警告もあります。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

Docker・containerd・Podman の設定例

Docker は /etc/docker/daemon.json の registry-mirrors に "https://docker.m.daocloud.io" を追加する例が README にあります。containerd は公式 hosts.md と kubespray の containerd_registries_mirrors を参照するよう案内されています。Podman は /etc/containers/registries.conf で docker.io に docker.m.daocloud.io を mirror として登録する toml 例があり、gcr.io/ghcr.io/quay.io/registry.k8s.io 向けの追加 mirror 例も README に載っています。いずれも README 上のコピペ可能な断片です。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

Kubernetes:kubeadm、kind、repimage

kubeadm では ClusterConfiguration の imageRepository と dns.imageRepository を k8s.m.daocloud.io に設定する yaml 断片が README にあります。kind では kind create cluster --image m.daocloud.io/docker.io/kindest/node:v1.22.1 が例示されます。全 Pod 自動書き換えには wzshiming/repimage の Webhook が紹介され、kubectl create -f https://files.m.daocloud.io/github.com/wzshiming/repimage/releases/download/latest/repimage.yaml と rollout 待ちコマンドが README に載っています。YAML/Helm を触らず image 参照だけ差し替える用途です。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

Ollama・DeepSeek 加速と運用上の公開情報

README は docker.m.daocloud.io/ollama/ollama で CPU/GPU コンテナ起動例を示し、GPU 版は Nvidia Container Toolkit 前提です。DeepSeek-R1 1.5b は docker exec -it ollama ollama run ollama.m.daocloud.io/library/deepseek-r1:1.5b が例として載り、ollama.m.daocloud.io は実験的内測と README が注記しています。運用面では白名单/限流が issue #2328、質問窓口が #4183、同期キューは 1 時間分のみ、status.daocloud.io/status/docker で監視と README がリンクしています。混雑回避のため pull は北京時間 01-07 時推奨と書かれています。

内网キャッシュと検証の具体手順

docs/local-cache へのリンクで内网キャッシュ構築が README から案内されています。到達性確認は README 冒頭の docker run -d -P m.daocloud.io/docker.io/library/nginx が最短です。本番 cluster では kubeadm yaml の imageRepository が k8s.m.daocloud.io になっているか、repimage deployment が kube-system で Ready かを kubectl で見る、という README 記載どおりの観点が取れます。性能 SLA や可用性数値は README になく、queue.m.daocloud.io/status/ の同期履歴と status ページを併用するしかありません。

編集部の結論

public-image-mirror は中国本土などから docker.io/gcr.io/ghcr.io を引く DevOps/K8s チーム向き。README が示す 30 日キャッシュと tag 更新の 1 時間遅延を理解しないと latest 運用でハマりやすい。試すなら docker run m.daocloud.io/docker.io/library/nginx で到達性を見てから /etc/docker/daemon.json に https://docker.m.daocloud.io を入れ、本番は @sha256 固定と北京時間 01-07 時の pull を README 推奨どおりにする。

公式情報源

  1. Official README
  2. Project repository
コミュニティノート

コミュニティノート