remrin

remrin

github
email

Cloudflare Workers を使用して自分で Docker イメージソースを構築する

数日前、各大ミラーサイトがすべてダウンし、Dockerイメージの取得が問題になりました。

最初はあまり気にしていませんでしたが、ダウンしているときはプロキシを使って取得していました。しかし、私のローカルでDockerを使用しているときは、プロキシを使っても正常に取得できませんでした。

そこで、解決策を探し始め、以下のような方法があることがわかりました。

  • Cloudflare Workersを利用して構築する方法で、ドメインが必要です。 -> 原帖
  • 自前でNexus 3を構築する方法で、海外のVPSが 1 台必要で、できれば4Gメモリ以上、さらにドメインも必要です。 -> 原帖
  • Github Actionを使用して、DockerHubのイメージを阿里云のプライベートリポジトリに転送する方法で、これにはGithubアカウントだけが必要です。 -> 原帖
  • Nginxのリバースプロキシを使用する方法で、すでにサーバーを持っている人に適しています。 -> 原帖
  • その他の方法としては、既存のミラーソースを探すことですが、一般的にこの種はあまり安定していないため、考慮しませんでした。

私は最初の方法を使用しました。比較的簡単です。原帖のチュートリアルはあまり詳細ではないので、ここで補足します。

  1. Cloudflare のホームページにアクセスし、左側のWorkers & Pagesで新しい Workers を作成し、右側のAccount IDを保存します。

Workersに名前を付けて、Saveをクリックし、次にFinishをクリックします。
image
このページが表示されたら、次のステップに進むことができます。
image

  1. このリポジトリForkし、ローカルにCloneします。

いつものように依存関係をインストールします。

pnpm i

次に、wrangler.toml.samplewrangler.tomlに名前変更します。

cp wrangler.toml.sample wrangler.toml

wrangler.tomlファイルを編集し、nameaccount_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" }
]
  1. kv IDを取得します。以下のコマンドを実行すると、id が出力されるので、設定のidを変更します。
npx wrangler kv:namespace create hammal_cache

出力

  1. 次にデプロイを行います。以下を実行します。
pnpm run deploy

Warning

ここで、あなたが Workers サービスを発行しようとしていることが通知されます。このサービスは最後に Cloudflare Dashboard を通じて発行され、Cloudflare Dashboard で行った編集はあなたのローカルのコードと設定によって上書きされます。

image

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

image
  1. 先ほどデプロイしたWorkersにドメインを追加します。

ドメインが有効になるのを待てば、正常に使用できるようになります。一般的には、サーバー上で/etc/docker/daemon.jsonを変更し、あなたが構築したソースアドレスを設定すれば大丈夫です。

"registry-mirrors": [
    "https://hammal.example.com"
  ]

私はMac上でOrbstackを使用しているため、ソフトウェア内で直接設定する必要があります。

image

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

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。