java - 使用 docker 在具有 Java 7 的服务器上运行 Java 8 应用程序

标签 java linux docker

我有用 Java 8 编写的应用程序,现在我必须在具有 jdk 1.7 的服务器上部署此应用程序,但我使用的是 lambda、可选参数和流,并且我正在寻找一种在此服务器上运行此应用程序的方法。

是否可以使用 jdk 1.8 在此服务器上创建 docker 容器并在此容器中运行我的应用程序?

最佳答案

基本上是的。

您需要在该服务器上有某种容器运行时,例如 jetty worker 。您所需要的只是基于类似于此的 Dockerfile 创建一个镜像:

FROM java:8-jdk-alpine
RUN adduser -Dh /home/app-user app-user
USER app-user
WORKDIR /app
COPY ./path/to/app.jar /app/app.jar
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
CMD ["--spring.profiles.active=prod"]

Apache Tomcat 的基础镜像也可用:https://hub.docker.com/_/tomcat/

示例应用程序可能会帮助您开始更复杂的设置:https://github.com/dockersamples/atsea-sample-shop-app/

关于java - 使用 docker 在具有 Java 7 的服务器上运行 Java 8 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45733529/

相关文章:

java - 如何使用 mockito/powermock 模拟 Google 的地理编码 API 请求?

python - 将文件夹中的文件批处理为 Python 脚本参数

linux - 将变量附加到另一个变量的每一行

docker - 如何在另一个挂载中 “mount” docker镜像?

用于多个 Docker 容器的 Dockerfile

java - gradle 6.0 实现是否在类路径中包含项目类

java - 我无法应用 gradle 6.x 插件

docker - 即使暴露了端口也无法访问。拒绝连接

java - ConcurrentModificationException 和 HashSet.iterator()

linux - && :; in bash scripts 的目的是什么