在App Engine上部署dockerized的spring boot网站

时间:2019-04-14 17:20:50

标签: spring-boot docker google-app-engine google-cloud-platform

我有一个Spring Boot Web应用程序,当前已在其中部署Google App Engine。现在,我转到了Docker,并希望将此应用程序的Docker映像部署到App Engine上。

到目前为止,我找不到与此相关的任何文档。大多数文档介绍了如何在Tomcat上部署Spring Boot的docker映像。有什么办法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

希望这会有所帮助:

https://github.com/GoogleCloudPlatform/getting-started-java/tree/master/helloworld-springboot

Docker容器的一个引人注目的好处是,当这些容器在一个运行时(例如Tomcat)上运行时,在另一个运行时(例如App Engine)中进行交换应该相对简单明了。

NB App Engine Flexible是您想要的特定服务。它类似于App Engine标准,但是它可以为您安排容器。

与App Engine Flexible一起使用的容器(图像)的主要要求是,该容器在端口8080上公开HTTP终结点。只要您的容器满足此义务,您就可以运行任何内容在里面。

答案 1 :(得分:1)

首先,如果要通过docker image进行部署,则需要App Engine using the flexible environment

这是文档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