我正在尝试从 docker-compose 文件中部署一个应用程序,其中包含两个图像:一个 Angular 应用程序(前端)和一个非常小的 Nestjs 应用程序(后端)。我正在使用 GCB、他们的触发器和 cloudbuild.json。
这是它的当前状态:
{
"steps": [
{
"name": "gcr.io/$PROJECT_ID/docker-compose",
"args": ["-f", "./docker-compose.${_ENVIRONMENT}.yml", "up", "-d"]
},
{
"name": "gcr.io/cloud-builders/docker",
"args": ["tag", "configurator:latest", "gcr.io/$PROJECT_ID/${_IMAGE_ID}"]
},
{
"name": "gcr.io/cloud-builders/gcloud",
"args": [
"run", "deploy",
"--allow-unauthenticated",
"${_IMAGE_ID}",
"--image", "gcr.io/$PROJECT_ID/${_IMAGE_ID}",
"--region", "europe-west4",
"--platform", "managed"
]
}
],
"images": [
"gcr.io/$PROJECT_ID/${_IMAGE_ID}"
],
"timeout": "1200s"
}
尝试将 docker 映像推送到注册表时,构建总是在第 2 步失败。我不确定图像名称可能是什么,或者它应该如何工作,因为需要推送和部署两个 docker 图像。甚至可以使用 GCB 还是我需要一个 GKE 集群来运行两个 docker 映像?
我是否应该分别构建两个 Docker 映像,将它们分别推送到注册表并将它们部署到单独的 GCR 服务?
提前致谢。