> 백엔드 개발 > 파이썬 튜토리얼 > Docker 파일에서 GCP Artifact Registry에서 Python 패키지를 설치하는 방법

Docker 파일에서 GCP Artifact Registry에서 Python 패키지를 설치하는 방법

Susan Sarandon
풀어 주다: 2025-01-28 16:14:16
원래의
246명이 탐색했습니다.

당신은 회사의 내부 사용을 제공하기 위해 훌륭한 파이썬 패키지를 개발했습니다. 동료가 사용을 시작할 수 있도록 게시하고 싶습니다. 패키지는 내부 사용 만 사용하기 때문에 PYPI (공식 Python 패키지 레지스트리)에 게시 할 수 없습니다. 대신, 회사가 GCP를 사용하기 때문에 자연 선택은 아티팩트 레지스트리입니다. How to Install Python Packages from GCP Artifact Registry in Docker file 문서에 설명 된 바와 같이 는 패키지를 레지스트리에 게시하는 것이 매우 간단합니다.

나는시 패키징 라이브러리를 사용합니다. 다음은 사용할 몇 가지 명령입니다

가방을 Artifact Registry에 게시 한 후 다른 프로젝트의 종속 항목으로 제공 할 수 있습니다.

설치 패키지 로컬 컴퓨터에 패키지 설치, 요구 사항을 만들어주십시오.

그런 다음 다음 명령을 사용하여 패키지를 설치하십시오.

키링 패키지 처리 아티팩트 레지스트리 인증. 계속하기 전에 응용 프로그램이 응용 프로그램 (ADC)의 기본값을 확인하십시오.

도커 챌린지

Docker에서 응용 프로그램을 실행할 때 다른 도전에 직면하게됩니다.

당신은 민감한 정보 (예 : 서비스 계정 파일)를 Docker 미러에 복사하고 싶지 않습니다.
poetry source add --priority=supplemental gcp_registry https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/
poetry publish --no-interaction --build --repository gcp_registry
로그인 후 복사
인증을 위해 아티팩트 레지스트리를 사용해야합니다.

솔루션은 간단하지만 좋은 문서 레코드는 없습니다. 이것을 알아내는 데 며칠이 걸렸으므로 시간을 절약하고 몇 분 안에 실현하도록 도와주고 싶습니다.

<解> 솔루션 <🎜 🎜>

전달 Google_Application_credentials Docker Construction 기간 동안 환경 변수를 전달하여 파일 내용 자체가 아닌 서비스 계정 파일의 경로를 지적합니다.

서비스 계정 파일은 Google_Application_credentials에 의해 지정된 경로에 비밀리에 설치됩니다.
<code>--index-url https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/simple/
--extra-index-url https://pypi.org/simple
{YOUR_PACKAGE_NAME}</code>
로그인 후 복사
모든 작업은 키링 백 및 개인 의존성 설치를 포함하여 동일한 실행 명세서에서 수행됩니다. 파일의 설치는 컨텍스트에만 존재하기 때문에 중요합니다.

파일을 읽을 수있는 적절한 권한이 있는지 확인하십시오.

pip install keyring
pip install keyrings.google-artifactregistry-auth
pip install -r /opt/requirements_private.txt
로그인 후 복사
dockerfile 예 다음은 dockerfile의 모양입니다 :

요구 사항 _private.txt는 여전히 동일합니다.


보시다시피 여러 요구 사항 파일을 가질 수 있습니다. 내 예에서는 요구 사항에서 TXT 파일이 PYPI Public Registry에서 패키지를 호스팅하는 데 사용됩니다. 그런 다음 docker_compose.yml 파일 입니다

그러면 구성 명령을 실행할 수 있습니다

이 기사가 Artifact Registry 및 Docker와 통합하는 데 도움이되기를 바랍니다.

위 내용은 Docker 파일에서 GCP Artifact Registry에서 Python 패키지를 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿