程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何将 SpringBoot (.war) 应用程序部署到 Cloud Run?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何将 SpringBoot (.war) 应用程序部署到 Cloud Run??

开发过程中遇到如何将 SpringBoot (.war) 应用程序部署到 Cloud Run?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何将 SpringBoot (.war) 应用程序部署到 Cloud Run?的解决方法建议,希望对你解决如何将 SpringBoot (.war) 应用程序部署到 Cloud Run?有所启发或帮助;

我有一个 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.RELEASE版本。

应用引擎的 pom.xml

<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

# 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"]

有什么想法吗?

解决方法

最后,我在不改变包类型的情况下成功地将我的 springboot 应用程序部署到了云运行。

# 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"]

大佬总结

以上是大佬教程为你收集整理的如何将 SpringBoot (.war) 应用程序部署到 Cloud Run?全部内容,希望文章能够帮你解决如何将 SpringBoot (.war) 应用程序部署到 Cloud Run?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。