【问题标题】:Deploy dockerized spring boot web on App Engine在 App Engine 上部署 dockerized spring boot web
【发布时间】:2025-12-20 07:15:07
【问题描述】:
我有一个 Spring Boot Web 应用程序,该应用程序当前部署在 Google App Engine 上。现在我转移到 Docker 并希望将此应用程序的 docker 映像部署到 App Engine 上。
到目前为止,我找不到任何与此相关的文档。大部分文档解释了如何在 Tomcat 上部署 Spring boot 的 docker 镜像。有什么方法可以实现吗?
【问题讨论】:
标签:
spring-boot
docker
google-app-engine
google-cloud-platform
【解决方案1】:
首先你需要App Engine using the flexible environment,如果你想通过docker镜像部署。
这里是文档Building Custom Runtimes。
自定义运行时允许您使用任何受支持的 App Engine 柔性环境语言的替代实现,或自定义 Google 提供的语言。它还允许您使用任何其他可以处理传入 HTTP 请求的语言编写代码(示例)。借助自定义运行时,App Engine 柔性环境为您提供和管理您的扩展、监控和负载平衡基础架构,因此您可以专注于构建您的应用程序。
在官方情况下,他们有码头的样本 DockeFile。但是您可以忽略码头部分,只需让您的 Spring Boot 应用程序可执行并运行它。
FROM gcr.io/google-appengine/jetty
ADD test-webapp-1.0-SNAPSHOT.war $JETTY_BASE/webapps/root.war
WORKDIR $JETTY_BASE
RUN java -jar $JETTY_HOME/start.jar --approve-all-licenses --add-to-startd=jmx,stats,hawtio
&& chown -R jetty:jetty $JETTY_BASE