ホームページ > バックエンド開発 > Python チュートリアル > GCP ArtifactレジストリからPythonパッケージをDockerファイルにインストールする方法

GCP ArtifactレジストリからPythonパッケージをDockerファイルにインストールする方法

Susan Sarandon
リリース: 2025-01-28 16:14:16
オリジナル
246 人が閲覧しました

How to Install Python Packages from GCP Artifact Registry in Docker file

会社の内部使用を提供するための優れたPythonパッケージを開発しました。同僚がそれを使用し始めることができるように、それを公開したいと思います。パッケージは内部使用のみであるため、PYPI(公式Pythonパッケージレジストリ)で公開することはできません。代わりに、会社はGCPを使用しているため、自然な選択はアーティファクトレジストリです。

ドキュメントに記載されているように、

レジストリにパッケージを公開するのは非常に簡単です。

詩包装図書館を使用しています。使用するコマンドは次のとおりです

バッグをArtifactレジストリに投稿した後、他のプロジェクトの依存アイテムとして提供できます。

poetry source add --priority=supplemental gcp_registry https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/
poetry publish --no-interaction --build --repository gcp_registry
ログイン後にコピー
インストールパッケージ<<>

ローカルマシンにパッケージをインストールするには、requastient_private.txtファイルを作成してください:

次に、次のコマンドを使用してパッケージをインストールします。

キーリングパッケージ処理アーティファクトレジストリ認証。継続する前に、アプリケーションがアプリケーション(ADC)にデフォルトであることを確認してください。
<code>--index-url https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/simple/
--extra-index-url https://pypi.org/simple
{YOUR_PACKAGE_NAME}</code>
ログイン後にコピー
ログイン後にコピー

dockerチャレンジ
pip install keyring
pip install keyrings.google-artifactregistry-auth
pip install -r /opt/requirements_private.txt
ログイン後にコピー

Dockerでアプリケーションを実行すると、他の課題に直面します。


機密情報(サービスアカウントファイルなど)をDockerミラーにコピーしたくありません。

認証にArtifactレジストリを使用する必要があります。

    ソリューションは簡単ですが、ドキュメントレコードはありません。これを理解するのに数日かかったので、時間を節約し、数分でそれを実現するのを手伝いたいと思います。
  1. solution <解>
google_application_credentials環境変数をDockerの構築期間中に変数を渡し、サービスアカウントファイルのパス(ファイルコンテンツ自体ではなく)を指します。

サービスアカウントファイルは、google_application_credentialsによって指定されたパスの下に密かにインストールされます。

すべての操作は、キーリングバッグやプライベート依存関係のインストールなど、同じ実行ステートメントで実行されます。ファイルのインストールはコンテキストにのみ存在するため、これは重要です。

    ファイルを読み取るための適切な権限があることを確認してください。
  1. dockerfileの例
  2. 以下はあなたのdockerfileの外観です:
  3. 要件_private.txtはまだ同じです。

ご覧のとおり、複数の要件ファイルを使用できます。私の例では、recumporation.txtファイルを使用して、Pypi Public Registryでパッケージをホストします。 次に、docker_compose.yml file

ARG GOOGLE_APPLICATION_CREDENTIALS

COPY requirements_private.txt /opt/requirements_private.txt

RUN --mount=type=secret,id=creds,target=/opt/mykey.json,mode=0444 \
     pip install keyring && \
     pip install keyrings.google-artifactregistry-auth && \
     pip install -r /opt/requirements_private.txt

COPY requirements.txt /opt/requirements.txt
RUN pip install -r /opt/requirements.txt
ログイン後にコピー
その後、構築コマンドを実行できます:

<code>--index-url https://{LOCATION}-python.pkg.dev/{REPO}/{PACKAGE}/simple/
--extra-index-url https://pypi.org/simple
{YOUR_PACKAGE_NAME}</code>
ログイン後にコピー
ログイン後にコピー
この記事が、Artifact RegistryおよびDockerと統合されるのに役立つことを願っています。

以上がGCP ArtifactレジストリからPythonパッケージをDockerファイルにインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート