运行 在 Docker 上使用嵌入式 Jetty 服务器的 Java 应用程序

Run a Java Application with Embedded Jetty Server on Docker

我是 docker 的新手,我有一个 java 应用程序,它 运行 在嵌入式码头服务器上,我想 运行 在 docker 容器。 正如我从阅读中了解到的那样,我需要创建一个 docker 文件来创建图像,然后 运行 它在容器上。但是现在我在构建 docker 文件时有点困惑。我应该使用什么基本图像;应该是 jetty 图片还是 java8 图片?

  1. 如果可能,请转换您的 application into a spring boot 应用。不确定 java 应用程序是什么意思。精心制作的。网络应用程序?库? api?
  2. Dockerfile 基础映像拉取由您决定,如果您可以打包 JAVA,那么您可以理想地 运行 您的容器在任何地方,无需担心平台 运行 时间。
  3. 如果您将应用程序转换为 spring 启动应用程序,码头集成和启动由 spring 启动负责。没有配置,FROM on Dockerfile 需要你。
  4. 简要说明,将您的应用程序转换为 spring 引导应用程序,从 JAVA:,复制您的 jar,运行 您的 jar。完成。

如果您不确定从哪个镜像开始,请查看这些镜像的 Dockerfile,以确定镜像中包含或不包含的内容。

对于您的情况,您可以在此处查看其中一张码头图片

https://github.com/appropriate/docker-jetty/blob/997e9496cc30fbc9afee70d7924e6f6a4a93e116/9.4-jre8/Dockerfile

我选择 link 基于 openjdk:8-jre 的 Dockerfile,因为它特别符合您的要求。

您不需要 Jetty docker 基础映像。您可以使用 jdk 或 jre 基础映像,例如 https://hub.docker.com/_/openjdk