如何将含3个子服务的docker-compose应用部署到Google Cloud平台
易混淆GCP产品定义与适用区别
- GCP(Google Cloud Platform):谷歌公有云服务的整体统称,包含计算、存储、网络、数据库等上百类云服务,Compute Engine、Cloud Run都是GCP旗下的子产品。
- Compute Engine(简称GCE):GCP下的IaaS(基础设施即服务)产品,本质是可自定义配置的云虚拟服务器,操作系统、运行环境、软件都由用户自主管理,灵活性最高,适合需要完全掌控服务运行环境的场景。
- Cloud Run:GCP下的Serverless容器运行服务,用户只需上传容器镜像即可运行,无需管理底层服务器,按实际调用量付费,默认仅支持单容器部署,多容器场景需要额外适配,适合轻量、无状态、流量波动大的单容器应用。
Docker Compose多关联服务部署分步方案
选择Compute Engine作为部署载体,完全适配你现有的docker-compose配置,不需要大规模调整即可原封不动运行整套服务,避免兼容性问题导致的404报错。
步骤1:创建Compute Engine虚拟机
- 登录GCP控制台进入Compute Engine页面,点击「创建实例」
- 基础配置:
- 区域选择离目标用户最近的节点,机器配置最低选2核4G(SQL Server、Redis内存占用较高)
- 操作系统选择Ubuntu 22.04 LTS,系统磁盘容量至少配50G
- 防火墙配置勾选「允许HTTP流量」「允许HTTPS流量」
- 点击创建等待虚拟机启动完成。
步骤2:安装Docker和Docker Compose
- 点击实例后的「SSH」按钮直接进入虚拟机终端
- 依次执行以下命令安装依赖:
# 更新系统包列表 sudo apt update # 安装Docker和Docker Compose sudo apt install docker.io docker-compose -y # 给当前用户添加Docker操作权限,避免每次执行命令加sudo sudo usermod -aG docker $USER newgrp docker
- 执行
docker -v、docker-compose -v验证安装成功。
步骤3:上传项目并调整配置
- 通过scp或者git工具将本地整个项目目录上传到虚拟机
- 调整docker-compose.yaml的路径配置:将db服务volumes下的Windows路径
C:\db_backups\ichte\:/usr/share/修改为虚拟机路径,先执行mkdir -p ~/db_backups/ichte创建本地目录,再将配置修改为~/db_backups/ichte:/usr/share/。
步骤4:启动整套服务
- 终端进入项目根目录,执行
docker-compose build构建业务镜像,和本地操作完全一致 - 执行
docker-compose up -d后台启动所有服务 - 执行
docker ps确认ich_app、ich_db、ich_redis三个容器均处于运行状态。
步骤5:验证服务可用性
- 回到Compute Engine实例列表,复制实例的「外部IP」
- 浏览器直接访问该IP即可正常打开业务应用,不会出现404报错。
内容的提问来源于stack exchange,提问作者marven
相关产品推荐
相关产品推荐

