GCP Cloud 构建中的 Docker-compose

Joh*_*ero 5 google-cloud-platform docker-compose google-cloud-build google-artifact-registry cicd

我正在尝试使用 GCP Cloud Build 在 GCP Cloud 中构建部署应用程序。

\n

我已经使用 Dockerfile 构建、推送和部署服务,但我需要使用项目的 Dockerfile。我的 dockerfile 在 Docker 桌面中完美运行,但我没有找到使用 GCP Artifact 注册表的 docker-compose 的文档。

\n

我的泊坞窗文件:

\n
FROM python:3.10.5-slim-bullseye\n\n#docker build -t cloud_app .\n#docker image ls\n#docker run -p 81:81 cloud_app\n\nRUN mkdir wd\nWORKDIR /wd\n\nRUN apt-get update\nRUN apt-get install ffmpeg libsm6 libxext6  -y\n\nCOPY requirements.txt .\nRUN pip install -r requirements.txt\n\nCOPY ./ ./\n\nCMD python3 main.py\n
Run Code Online (Sandbox Code Playgroud)\n

我的码头工人组成:

\n
version: "3.3"\n\nservices:\n  web:\n    build:\n      context: ./destripa_frame/\n      dockerfile: ./Docker_files/Dockerfile\n    image: bank_anon_web_dev_build\n    restart: always\n    expose:\n      - 8881\n      - 80\n      - 2222\n      - 22\n    ports:\n      - "2222:2222"\n      - "80:80"\n    environment:\n      - TZ=America/Chicago\n
Run Code Online (Sandbox Code Playgroud)\n

我的云构建配置:

\n
steps:\n- name: \'docker/compose:1.28.2\'\n  args: [\'up\', \'--build\', \'-f\', \'./cloud_run/docker-compose.devapp.yml\', \'-d\']\n- name: \'docker/compose:1.28.2\'\n  args: [\'-f\', \'./cloud_run/docker-compose.devapp.yml\', \'up\', \'docker-build\']\nimages: [\'us-central1-docker.pkg.dev/${PROJECT_ID}/app-destripador/job_app:$COMMIT_SHA\']\n
Run Code Online (Sandbox Code Playgroud)\n

云构建提交执行成功:\n云构建执行

\n

\xc2\xbf如何修改云构建以在 Artifact 注册表中部署 Docker-compose?

\n

编辑:找到使用 cloudbuild 和 Docker-compose 将映像推送到工件注册表中的正确方法。

\n

修改我的 cloud-build.yml 配置以构建映像,然后将 Docker-compose 映像重命名为 Artifact 注册表映像。\n云构建会自动将映像推送到存储库中(如果映像名称不是 URL,则推送它位于 Docker.io 中)。

\n

我的新 Cloud-build.yml:

\n
steps:\n- name: \'docker/compose:1.28.2\'\n  args: [\n    \'-p\', \'us-central1-docker.pkg.dev/${PROJECT_ID}/app-destripador\',\n    \'-f\', \'./cloud_run/docker-compose.devapp.yml\',\n    \'up\', \'--build\', \'web\'\n  ]\n- name: \'gcr.io/cloud-builders/docker\'\n  args: [\n    \'tag\',\n    \'bank_anon_web_dev_build\',\n    \'us-central1-docker.pkg.dev/${PROJECT_ID}/app-destripador/bank_anon_web_dev_build\'\n  ]\nimages: [\'us-central1-docker.pkg.dev/${PROJECT_ID}/app-destripador/bank_anon_web_dev_build\']\n
Run Code Online (Sandbox Code Playgroud)\n

希望任何需要了解使用 docker-compose 进行 GCP Cloud 构建的人都可以有所帮助,因为网络中的每个指南都没有解释最后一部分。

\n