Rumah >pembangunan bahagian belakang >Tutorial Python >Cara Mencipta Binaan Awan untuk Membenarkan Docker Muat Turun Pakej Python daripada Pendaftaran Artifak
Pendaftaran Artifak Google Cloud ialah alat yang berkuasa untuk mengurus kebergantungan aplikasi anda. Panduan ini menunjukkan cara membuat saluran paip Cloud Build untuk membolehkan Docker mengakses pakej Python yang disimpan dalam Pendaftaran Artifak. Dengan mengikuti langkah-langkah ini, anda boleh mengurus kebergantungan dengan selamat dan memperkemaskan penempatan.
Gunakan gcloud auth untuk menjana token akses yang akan membolehkan proses binaan Docker untuk mengesahkan dengan Pendaftaran Artifak. Begini cara anda boleh melakukannya:
steps: # Generate Artifact Registry token - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' entrypoint: bash args: - '-c' - | art=$(gcloud auth print-access-token) echo "$art" > /workspace/artifact_registry_token echo "$art"
Setelah token dijana, ia boleh dihantar ke proses binaan docker sebagai hujah binaan. Begini caranya:
- name: gcr.io/cloud-builders/docker id: Build env: - 'btf=/workspace/artifact_registry_token' entrypoint: bash args: - '-c' - | docker build \ --build-arg ARTIFACT_REGISTRY_TOKEN=$(cat $btf) \ --build-arg PROJECT_ID=$PROJECT_ID \ -t test-image:latest \ -f Dockerfile .
Fail Docker dikonfigurasikan untuk menggunakan token untuk memuat turun pakej Python daripada Pendaftaran Artifak:
# syntax=docker/dockerfile:1 FROM python:3.11-slim ARG ARTIFACT_REGISTRY_TOKEN ARG PROJECT_ID # Keeps Python from buffering stdout and stderr ENV PYTHONUNBUFFERED=1 WORKDIR /app RUN pip install --no-cache-dir -r requirements.txt COPY . . # Install dependencies using the token RUN pip install \ --index-url https://pypi.org/simple \ --extra-index-url https://oauth2accesstoken:${ARTIFACT_REGISTRY_TOKEN}@us-central1-python.pkg.dev/${PROJECT_ID}/python-packages/simple/ \ "your-package-name==your-package-version" # Expose the application port EXPOSE 8080 # Command to run the application CMD ["uvicorn", "main:app", "--port=8080", "--host=0.0.0.0"]
Akhir sekali, tentukan konfigurasi lain seperti jenis mesin, pengelogan dan penggantian:
options: machineType: E2_HIGHCPU_8 substitutionOption: ALLOW_LOOSE logging: CLOUD_LOGGING_ONLY substitutions: _PACKAGE: your-package-name==your-package-version _REPOSITORY: python-packages _LOCATION: us-central1 _PROJECT_ID: your-project-id
Untuk menyusun binaan anda dengan lebih baik, sertakan teg yang bermakna:
tags: - gcp-cloud-build - artifact-registry - docker-python-packages
Persediaan ini memastikan bahawa binaan Docker anda dalam Binaan Awan boleh menarik kebergantungan Python dengan selamat daripada Pendaftaran Artifak anda menggunakan token akses. Laraskan konfigurasi yang disediakan kepada butiran khusus projek anda, seperti nama pakej, URL repositori dan sasaran penggunaan.
Melaksanakan saluran paip ini akan meningkatkan keselamatan dan menjadikan pengurusan pergantungan berjalan lancar untuk projek anda.
Atas ialah kandungan terperinci Cara Mencipta Binaan Awan untuk Membenarkan Docker Muat Turun Pakej Python daripada Pendaftaran Artifak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!