首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将SpringBoot (.war)应用部署到云运行中?

如何将SpringBoot (.war)应用部署到云运行中?
EN

Stack Overflow用户
提问于 2021-05-29 17:36:01
回答 1查看 167关注 0票数 0

我有一个SpringBoot项目,我部署到了Google App Engine上。它工作得很好。该网站的访问量不是很高。但它的账单成本却在上升。

因此,我决定将我的SpringBoot项目转移到"Cloud Run“。

我已尝试使用以下链接https://cloud.google.com/run/docs/quickstarts/build-and-deploy/java

但在上面的教程中,他们详细介绍了jar文件。

本项目中使用的是Jave 8,SpringBoot 2.3.0版本。

应用程序引擎的pom.xml

代码语言:javascript
复制
<plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>appengine-maven-plugin</artifactId>
                <version>2.2.0</version>
                <configuration>
                    <projectId>MY-SPRING-BOOT-APP</projectId>
                    <version>1</version>
                    <ssl-enabled>true</ssl-enabled>
                </configuration>
            </plugin>

DockerFile

代码语言:javascript
复制
# Use the official maven/Java 8 image to create a build artifact.
# https://hub.docker.com/_/maven
FROM maven:3.8-jdk-11 as builder

# Copy local code to the container image.
WORKDIR /app
COPY pom.xml .
COPY src ./src

# Build a release artifact.
RUN mvn package -DskipTests

# Use AdoptOpenJDK for base image.
# It's important to use OpenJDK 8u191 or above that has container support enabled.
# https://hub.docker.com/r/adoptopenjdk/openjdk8
# https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds
FROM adoptopenjdk/openjdk11:alpine-slim

# Copy the jar to the production image from the builder stage.
COPY --from=builder /app/target/myapp.war /target/myapp.war

# Run the web service on container startup.
CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/target/myapp.war"]
#CMD ["catalina.sh","run"]

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-12 18:21:10

最后,我成功地将我的springboot应用程序部署到cloud run,而无需更改包类型。

代码语言:javascript
复制
# Use the official maven/Java 8 image to create a build artifact.
# https://hub.docker.com/_/maven
FROM maven:3.8-jdk-11 as builder

# Copy local code to the container image.
WORKDIR /app
COPY pom.xml .
COPY src ./src

# Build a release artifact.
RUN mvn package -DskipTests

# Use AdoptOpenJDK for base image.
# It's important to use OpenJDK 8u191 or above that has container support enabled.
# https://hub.docker.com/r/adoptopenjdk/openjdk8
# https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds
FROM adoptopenjdk/openjdk11:alpine-slim

# Copy the jar to the production image from the builder stage.
COPY --from=builder /app/target/myapp-*.war /myapp.war

# Run the web service on container startup.
CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/myapp.war"]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67749856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档