数日前、各大ミラーサイトがすべてダウンし、Docker
イメージの取得が問題になりました。
最初はあまり気にしていませんでしたが、ダウンしているときはプロキシを使って取得していました。しかし、私のローカルでDocker
を使用しているときは、プロキシを使っても正常に取得できませんでした。
そこで、解決策を探し始め、以下のような方法があることがわかりました。
Cloudflare Workers
を利用して構築する方法で、ドメイン
が必要です。 -> 原帖- 自前で
Nexus 3
を構築する方法で、海外のVPS
が 1 台必要で、できれば4Gメモリ以上
、さらにドメイン
も必要です。 -> 原帖 Github Action
を使用して、DockerHub
のイメージを阿里云のプライベートリポジトリに転送する方法で、これにはGithub
アカウントだけが必要です。 -> 原帖Nginxのリバースプロキシ
を使用する方法で、すでにサーバーを持っている人に適しています。 -> 原帖- その他の方法としては、既存のミラーソースを探すことですが、一般的にこの種はあまり安定していないため、考慮しませんでした。
私は最初の方法を使用しました。比較的簡単です。原帖のチュートリアルはあまり詳細ではないので、ここで補足します。
- Cloudflare のホームページにアクセスし、左側の
Workers & Pages
で新しい Workers を作成し、右側のAccount ID
を保存します。
Workers
に名前を付けて、Save
をクリックし、次にFinish
をクリックします。
このページが表示されたら、次のステップに進むことができます。
- このリポジトリを
Fork
し、ローカルにClone
します。
いつものように依存関係をインストールします。
pnpm i
次に、wrangler.toml.sample
をwrangler.toml
に名前変更します。
cp wrangler.toml.sample wrangler.toml
wrangler.toml
ファイルを編集し、name
とaccount_id
を変更します。
name = "workersの名前"
account_id = "ここに上でコピーしたAccount IDを入力"
main = "src/index.ts"
workers_dev = true
compatibility_date = "2024-06-08"
kv_namespaces = [
{ binding = "HAMMAL_CACHE", id = "あなたのkv id" }
]
kv ID
を取得します。以下のコマンドを実行すると、id が出力されるので、設定のid
を変更します。
npx wrangler kv:namespace create hammal_cache
- 次にデプロイを行います。以下を実行します。
pnpm run deploy
Warning
ここで、あなたが Workers サービスを発行しようとしていることが通知されます。このサービスは最後に Cloudflare Dashboard を通じて発行され、Cloudflare Dashboard で行った編集はあなたのローカルのコードと設定によって上書きされます。

y
を入力すると、通常はブラウザが開いて認証を求められます。認証すれば大丈夫です。私はすでにデプロイしたことがあるため、ポップアップは表示されませんでした。

- 先ほどデプロイした
Workers
にドメインを追加します。
ドメインが有効になるのを待てば、正常に使用できるようになります。一般的には、サーバー上で/etc/docker/daemon.json
を変更し、あなたが構築したソースアドレスを設定すれば大丈夫です。
"registry-mirrors": [
"https://hammal.example.com"
]
私はMac
上でOrbstackを使用しているため、ソフトウェア内で直接設定する必要があります。

この記事は Mix Space によって xLog に同期更新されました。元のリンクは https://remrin.dev/posts/dev/docker