>  기사  >  백엔드 개발  >  Docker 컨테이너에서 개인 저장소를 사용하여 인증하는 방법

Docker 컨테이너에서 개인 저장소를 사용하여 인증하는 방법

WBOY
WBOY앞으로
2024-02-09 09:40:19598검색

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

php 편집기 Strawberry에서는 인증을 위해 Docker 컨테이너의 개인 저장소를 사용하는 방법을 소개합니다. Docker는 개발자가 다양한 환경에서 애플리케이션을 빠르게 배포하고 실행할 수 있도록 도와주는 인기 있는 컨테이너화 플랫폼입니다. 그러나 일부 민감한 애플리케이션이나 비공개 코드 베이스의 경우 승인된 직원만 액세스할 수 있도록 컨테이너의 저장소를 인증해야 할 수도 있습니다. 이 문서에서는 민감한 데이터와 코드를 보호하기 위해 개인 저장소에 대한 인증을 설정하고 사용하는 방법을 보여줍니다.

질문 내용

개인 저장소인 git 저장소가 있는데 이를 인증하고 container build 视角中查看它。有关一些背景信息,我有一个 github 工作流程,用于构建容器映像并将其发布到 ghcr.io 레지스트리에서 실행할 수 있어야 합니다. 그러나 내 패키지가 의존하는 저장소는 비공개이므로 작동하지 않습니다. 이제 로컬에서 작동하므로 액세스할 수 있도록 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에서 작업에 의해 전달된 키(토큰라고 함)를 사용하려면 다음과 같이 실행해야 합니다.

으아악

dockerfile에도 github_id를 전달하는 것을 잊지 마세요

위 내용은 Docker 컨테이너에서 개인 저장소를 사용하여 인증하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제