ホームページ  >  記事  >  バックエンド開発  >  Dockerコンテナ内のプライベートリポジトリを使用して認証する方法

Dockerコンテナ内のプライベートリポジトリを使用して認証する方法

WBOY
WBOY転載
2024-02-09 09:40:19600ブラウズ

如何使用 Docker 容器中的私有存储库进行身份验证

php Xiaobian Strawberry では、認証に Docker コンテナ内のプライベート リポジトリを使用する方法を紹介します。 Docker は、開発者がさまざまな環境でアプリケーションを迅速にデプロイして実行できるようにする、人気のあるコンテナ化プラットフォームです。ただし、一部の機密アプリケーションやプライベート コード ベースの場合は、許可された担当者のみがリポジトリにアクセスできるように、コンテナ内のリポジトリを認証する必要がある場合があります。この記事では、プライベート リポジトリの認証を設定して使用し、機密データとコードを保護する方法を説明します。

質問の内容

プライベート リポジトリである git リポジトリがあり、それに対して認証でき、コンテナ ビルド## で実行できる必要があります # Viewそれを視野に入れて。背景情報として、コンテナ イメージをビルドして ghcr.io レジストリに公開する github ワークフローがあります。ただし、パッケージが依存するリポジトリはプライベートであるため、機能しません。ローカルで動作するようになったので、github 認証の保存方法を変更してアクセスできるようにすることを検討しましたが、プライベート リポジトリにアクセスするためのより良い方法を誰かが知っているのではないかと考えていました。 p>以下は、

ghcr.io レジストリに公開された github オペレーションです: リーリー

これは

dockerfile: リーリー

私を混乱させている重要な部分はこれだと思いますが、それを実装するより良い方法があるかどうか疑問に思っています:

リーリー

プライベート リポジトリにアクセスし、ワークフローでの次のエラーを回避する方法:

name: docker dataeng_github_metrics

# run workflow on tags starting with v (eg. v2, v1.2.0)
on:
  push:
    branches: [ "master" ]
    paths:
      - ./data_pipelines/dataeng_github_metrics/*
  pull_request:
    branches: [ "master" ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: checkout code
        uses: actions/checkout@v1
        
      - name: login to github container registry
        uses: docker/login-action@v1
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.ghcr_registry_token }}

      - name: set up docker buildx
        uses: docker/setup-buildx-action@v2

      - name: build and push docker image
        uses: docker/build-push-action@v3
        with:
          context: ./data_pipelines/dataeng_github_metrics/
          file: ./data_pipelines/dataeng_github_metrics/dockerfile
          push: true # will only build if this is not here
          tags: |
            ghcr.io/mirantis/dataeng_github_metrics:latest
          # todo: i cannot use dataeng as public and need to change the way gitconfig is used in the dockerfile for authentication
          secrets: |
            token=${{ secrets.automation_pat}}

回避策

dockerfileで、アクションによって渡されたキー(tokenと呼ばれる)を使用するには、次のように実行する必要があります。 : リーリー

github_id も忘れずに dockerfile に渡してください。

以上がDockerコンテナ内のプライベートリポジトリを使用して認証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。