【问题标题】:What is the step by step process to deploy a java app to Docker?将 java 应用程序部署到 Docker 的分步过程是什么?
【发布时间】:2017-02-15 17:53:39
【问题描述】:

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

我已经在 mac 上下载了 Docker 并查看了这个documentation,但我觉得中间缺少一些步骤,我很困惑。

感谢您的帮助。

谢谢!

【问题讨论】:

标签: docker deployment jar dockerfile devops


【解决方案1】:

如果您已经构建了 JAR 文件,在 docker 中试用它的最快方法是创建一个使用 official OpenJDK base image 的 Dockerfile,复制到您的 JAR 中并配置 Docker 以在容器启动时运行它:

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

在与您的 JAR 文件相同的位置运行该 Dockerfile:

docker build -t my-app .

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

docker run my-app

如果您想将 Docker 集成到您的构建管道中,因此每个构建的输出都是一个新映像,那么您可以在映像内部编译应用程序(如上面的 Mark O'Connor's 注释中所示;或者在外部构建 JAR镜像,然后使用 Docker 打包它,就像上面的简单示例一样。

第二种方法的优点是图像更小,只有应用程序没有源代码。第一个的优点是您可以在任何使用 Docker 的机器上构建您的镜像 - 您不需要安装 Java 来构建它。

【讨论】:

  • 我想了解您运行应用程序后会发生什么?这是否意味着它在 docker 的操作系统中运行?
猜你喜欢
  • 1970-01-01
  • 2013-05-22
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
  • 2012-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多