首页 > 解决方案 > 无法获取 Spring - Angular 应用程序部署在 Google 云上

问题描述

我有一个带有 Spring 后端和 Angular 前端的应用程序。我正在使用 docker-compose,它正在创建 2 个容器。

我有桥接网络,所以我可以在本地进行测试。

现在我想部署到 Google Cloud。

问题:(1)我需要创建任何 gcp 特定的 yaml 文件吗?

我创建的集群似乎不够好,在这种情况下使用 GKE

没有最低可用性

我还没有看到单独使用 CloudRun 部署 spring 和 angular 的任何示例。但这可能吗?

我迫切需要部署我的容器。有办法吗?

编辑:

后端 spring 能够与 CloudSQL 对话(在另一篇文章中回答)

角度应用程序未运行,因为它不知道上游主机

nginx-py-sha256-2
2021/07/14 15:21:13 [emerg] 1#1: host not found in upstream "appserver:2623" in /etc/nginx/conf.d/default.conf:2 

在我的码头工人组成 -

services:
  # App backend service
  appserver:
    container_name: appserver
    image: appserver
  pui:
    container_name: nginx-py
    image: nginx-py

我的 nginx.conf 指的是 appserver

我推送的图片是

docker push eu.gcr.io/myapp/appserver

我应该在 nginx.conf 中使用什么名称才能识别上游主机?很好,如果我可以禁用前缀

GCP Kubernetes 工作负载“没有最低可用性”没有得到答复。所以不是重复的

标签: docker-composegoogle-kubernetes-engine

解决方案


您有一个用于后端的容器和一个带有静态文件的前端。最好的模式是:

当然,忘记了 Docker Compose。


注意:如果您的前端有一个容器,带有一个网络服务器(Angular 服务器、NGINX 或其他),您也可以将它部署在 Cloud Run 上,但您无需支付处理费用。云存储是一个更好的解决方案。

在这两种情况下,建议使用负载均衡器来避免 CORS 问题。此外,如果您的业务需要,您可以在负载均衡器上添加 CDN


推荐阅读