什么是一步一步的过程将一个Java应用程序部署到Docker?

我的工程背景主要是编码/ dev't比部署。 我们最近向我们的团队介绍了微服务,我正在做POC将这些微服务部署到Docker。 我用maven,Java 8(不是OpenJdk)做了一个简单的应用程序,并且准备好部署jar文件,但是我坚持如何在Docker容器上部署和运行/testing应用程序的确切步骤。

我已经在Mac上下载了Docker,并且检查了这个文档,但是我觉得中间有一些步骤丢失了,我感到困惑。

我恳求你的帮助。

谢谢!

如果你已经有了一个内置的JAR文件,在Docker中最快捷的方法就是创build一个Dockerfile,它使用官方的OpenJDK基础镜像 ,复制到JAR中,并configurationDocker在容器启动时运行:

FROM openjdk:7 COPY my.jar /my.jar CMD ["java", "-jar", "/my.jar"] 

使用与您的JAR文件相同位置的Dockerfile运行:

 docker build -t my-app . 

这将创build图像,然后在容器中运行应用程序:

 docker run my-app 

如果你想在你的构buildpipe道中集成Docker,那么每个构build的输出是一个新的图像,那么你可以在图像内部编译应用程序(如上面的Mark O'Connor的评论;或者在图像之外构buildJAR只需使用Docker将其打包即可,就像上面的简单示例一样。

第二种方法的优点是只有应用程序没有源代码的较小的图像。 第一个优点是你可以在任何一台使用Docker的机器上构build你的映像 – 你不需要安装Java来构build它。