はじめに
Cloudflare Serverless RegistryはCloudflare WorkersとR2ストレージをベースにしたサーバーレスコンテナレジストリです。イメージのプッシュとプルをサポートし、ユーザー名パスワードと公開鍵ベースのJWT認証を提供する。このプロジェクトはデプロイが簡単で、Docker操作と互換性があり、サーバーレス環境でのコンテナイメージの管理に適している。いくつかの制限はあるが、Serverless Registryは開発者に軽量でスケーラブルなソリューションを提供する。
機能一覧
- ミラープッシュ&プルサポート
- ユーザー名パスワードとJWT認証を提供する
- Docker互換の操作
- 他のレジストリへのフォールバックのサポート
- 導入と管理が容易
ヘルプの使用
インストールと展開
- 依存関係のインストールpnpm を使ってすべての依存関係をインストールしてください(他のパッケージマネージャーでも動作しますが、pnpm のみがサポートされています)。
$ pnpm install
- ラングラーファイルの準備サンプルファイルをコピーして設定する。
$ cp wrangler.toml.example wrangler.toml
- R2ストレージバケットの設定R2ストレージバケットを作成する。
$ NPXラングラー -- NPXラングラー羨望 本番用r2バケット r2レジストリを作成する
- wrangler.tomlの設定R2 ストレージバケットの設定を wrangler.toml ファイルに追加する。
r2_バケット = [ {バインディング 「REGISTRYバケット名 = "r2レジストリ" } ]
- 配備レジストリレジストリを本番環境にデプロイする。
$ NPXラングラーデプロイ -- NPXラングラーデプロイ羨望 生産
ユーザー名とパスワードによる認証
- ユーザー名とパスワードの設定ユーザー名とパスワードは秘密にしてください。
$ npx ラングラー シークレット put USERNAME --.羨望 生産 $ npx ラングラー シークレット PASSWORD --羨望 生産
JWT認証
- JWT公開鍵を追加するパスワードまたはトークンを認証するために、base64エンコードされたJWT公開鍵を追加します。
$ npx wrangler secret put JWT_REGISTRY_TOKENS_PUBLIC_KEY -- 。羨望 生産
Dockerによるイメージのプッシュとプル
- Dockerにログインするユーザー名とパスワードを使ってDockerにログインする。
輸出 REGISTRY_URL=your-url-here エコー $PASSWORD | docker login --ユーザー名 $USERNAME --パスワード-stdin $registry_url
- プッシュミラーイメージをレジストリにプッシュする。
docker pull ubuntu:latest ドッカータグ ubuntu:latest $registry_url/ubuntu:latest ドッカープッシュ $registry_url/ubuntu:latest
- プルミラーレジストリからイメージを取り出します。
docker rmi ubuntu:latest ドッカー・プル $registry_url/ubuntu:latest
コンフィギュレーション・プルバック
- フォールバック・レジストリの設定: wrangler.tomlファイルでフォールバック・レジストリを設定する。
[env.production]。 レジストリ_json = "[{ "registry": "url-to-other-registry", "password_env": "REGISTRY_TOKEN", "username": "username-to-to use" }]"
- レジストリトークンの設定レジストリのトークンを機密扱いにする。
猫 ./registry-service-credentials.json |. ベース64 | ラングラー --羨望 プロダクション・シークレット put REGISTRY_TOKEN