gcloud docker-compose deploy 主容器(子项目的解决方案)
Posted
技术标签:
【中文标题】gcloud docker-compose deploy 主容器(子项目的解决方案)【英文标题】:gcloud docker-compose deploy main container (solution with sub projects) 【发布时间】:2022-01-08 10:32:06 【问题描述】:我开发了一个解决方案。该解决方案由 3 个项目组成。 (有的文档称它们为服务,有的称它们为容器,但我们知道这些是 docker-compose 的容器和子容器)
-
应用程序本身
Db - SQL Peoje
Redis
当我使用 docker-compose 构建这个解决方案时,我可以在一个公共容器下看到 3 个图像。并以这种方式;它使用 docker-compose build 和 up 在我的本地环境中工作。 我想将解决方案按原样(作为主容器和子容器)部署到谷歌云。在阅读文档以将项目上传到 Google 端时,我尝试了大约 6-7 种不同的方式。但我无法理解理想是什么。到处都是文档,却没有写出健康简单的方法。
即使使用一两种方法,当我部署时。它没有给出错误,它似乎正在工作,但是;当我打开 url 时,它给出了 404。无论如何它都没有发生。
以下是适用于大型项目的小型项目的 ABC 方法。你能在表格中提供信息吗?我唯一的目标是让容器在那里运行 3 个服务。请给我这个特殊(但不是很特殊)案例的纯地址。
奖励:您可以给出真实的定义并区分所有非常复杂的 gpc、引擎、云运行
docker-compose.yaml
version: '3.4'
services:
cms:
image: $DOCKER_REGISTRY-cms
build:
context: .
dockerfile: Dockerfile
container_name: ich_app
ports:
- "80:8080"
depends_on:
- db
db:
image: "mcr.microsoft.com/mssql/server"
container_name: ich_db
ports:
- "$DOCKER_SQL_PORT:-1433:1433"
expose:
- 1433
environment:
- ACCEPT_EULA=Y
- MSSQL_PID=Express
- SA_PASSWORD=PassWORDD!
volumes:
- C:\db_backups\ichte\:/usr/share/
depends_on:
- redis
redis:
container_name: ich_redis
image: redis
【问题讨论】:
您使用的是 Windows 基础镜像而不是 Linux 镜像,它无法工作。此外,您使用的卷和无服务器产品是无状态的。最后,您使用 Redis,但无服务器产品只能提供 HTTP 流量。使用 CODE answer 使用托管服务退出您的应用程序,而不是部署现有容器。其他使用原始云产品:VM! 【参考方案1】:至少有一个您定义的容器 (db
) 需要 Windows 运行时,这将限制您的选择。您可以将 Windows 部署到 GKE,请参阅https://cloud.google.com/kubernetes-engine/docs/concepts/windows-server-gke
您还将部署三个容器,其中两个选项作为托管服务提供:SQL Server on Google Cloud 和 Memorystore for Redis。
如果您部署托管服务,然后将它们连接到您的容器,您可能会很幸运。
【讨论】:
以上是关于gcloud docker-compose deploy 主容器(子项目的解决方案)的主要内容,如果未能解决你的问题,请参考以下文章
带有Gcloud错误的Rails:(gcloud.preview.app.deploy)错误响应:[13]意外错误。部署版本: