AIパーソナル・ラーニング
と実践的なガイダンス
豆包Marscode1

Cloudflare Serverless Registry: Cloudflare Workersに基づくサーバーレス・コンテナ・レジストリ

はじめに

Cloudflare Serverless RegistryはCloudflare WorkersとR2ストレージをベースにしたサーバーレスコンテナレジストリです。イメージのプッシュとプルをサポートし、ユーザー名パスワードと公開鍵ベースのJWT認証を提供する。このプロジェクトはデプロイが簡単で、Docker操作と互換性があり、サーバーレス環境でのコンテナイメージの管理に適している。いくつかの制限はあるが、Serverless Registryは開発者に軽量でスケーラブルなソリューションを提供する。

 

機能一覧

  • ミラープッシュ&プルサポート
  • ユーザー名パスワードとJWT認証を提供する
  • Docker互換の操作
  • 他のレジストリへのフォールバックのサポート
  • 導入と管理が容易

 

ヘルプの使用

インストールと展開

  1. 依存関係のインストールpnpm を使ってすべての依存関係をインストールしてください(他のパッケージマネージャーでも動作しますが、pnpm のみがサポートされています)。
    $ pnpm install
    
  2. ラングラーファイルの準備サンプルファイルをコピーして設定する。
    $ cp wrangler.toml.example wrangler.toml
    
  3. R2ストレージバケットの設定R2ストレージバケットを作成する。
    $ npx wrangler --env production r2 bucket create r2-registry
    
  4. wrangler.tomlの設定R2 ストレージバケットの設定を wrangler.toml ファイルに追加する。
    r2_buckets = [
      { binding = "REGISTRY", bucket_name = "r2-registry" }
    ]
    
  5. 配備レジストリレジストリを本番環境にデプロイする。
    $ npx wrangler deploy --env production
    

ユーザー名とパスワードによる認証

  1. ユーザー名とパスワードの設定ユーザー名とパスワードは秘密にしてください。
    $ npx wrangler secret put USERNAME --env production
    $ npx wrangler secret put PASSWORD --env production
    

JWT認証

  1. JWT公開鍵を追加するパスワードまたはトークンを認証するために、base64エンコードされたJWT公開鍵を追加します。
    $ npx wrangler secret put JWT_REGISTRY_TOKENS_PUBLIC_KEY --env production
    

Dockerによるイメージのプッシュとプル

  1. Dockerにログインするユーザー名とパスワードを使ってDockerにログインする。
    export REGISTRY_URL=your-url-here
    echo $PASSWORD | docker login --username $USERNAME --password-stdin $REGISTRY_URL
    
  2. プッシュミラーイメージをレジストリにプッシュする。
    docker pull ubuntu:latest
    docker tag ubuntu:latest $REGISTRY_URL/ubuntu:latest
    docker push $REGISTRY_URL/ubuntu:latest
    
  3. プルミラーレジストリからイメージを取り出します。
    docker rmi ubuntu:latest
    docker pull $REGISTRY_URL/ubuntu:latest
    

コンフィギュレーション・プルバック

  1. フォールバック・レジストリの設定: wrangler.tomlファイルでフォールバック・レジストリを設定する。
    [env.production]
    REGISTRIES_JSON = "[{ \"registry\": \"url-to-other-registry\", \"password_env\": \"REGISTRY_TOKEN\", \"username\": \"username-to-use\" }]"
    
  2. レジストリトークンの設定レジストリのトークンを機密扱いにする。
    cat ./registry-service-credentials.json | base64 | wrangler --env production secrets put REGISTRY_TOKEN
    

無断転載を禁じます:チーフAIシェアリングサークル " Cloudflare Serverless Registry: Cloudflare Workersに基づくサーバーレス・コンテナ・レジストリ
ja日本語