如何使用Docker进行Java入门级开发



【编者的话】这是一篇入门级的学习教程,推荐Java开发者阅读,做者经过一个简单的例子演示了如何在Docker中进行Java开发。不须要Maven、不须要JDK,你只须要给你的小伙伴一个Dockerfile,剩下的事情交给Docker去完成吧。 html

这周,我和Anna、Stephan、Timo在慕尼黑的W-Jax开了一个关于企业技术(特别针对Java)的会议。没想到竟然有这么多的人对Docker感兴趣,但问题是怎么在Docker上进行Java开发呢?我我的比较喜欢短小的示例,它能够经过包含几个小文件的框架帮助你了解某个技术。不幸的是,这在Java的世界很难实现,由于大多数的示例都须要某个IDE以及适当的对Web框架有所了解。在这篇文章中,我将尝试使用短小的示例,以帮助你快速学习如何在Docker中进行Java开发。 java

准备工做

如今有很是多的Java Web框架,但我这里并不打算使用它们。我只想要的是一个小的框架因此我选择了Spark,它是一个基于Java 8的极小的框架。Spark使用Maven做为构建工具。 git

如何使用Docker进行Java入门级开发 - 技术文摘 | 玩赚乐

源代码和配置文件

在这个例子中你要增长三个文件: github

  • Maven的配置文件: pom.xml
  • 一个Java类:Hello.java
  • 一个Dockerfile

若是有读者等不及了,能够克隆这个repo: docker

https://github.com/giantswarm/sparkexample 缓存

下面咱们会详细解释这三个文件的结构,你能够此视频来快速了解。(读者能够查看原文中的视频,看完视频基本能够了解怎么作) oracle

pom.xml

pom.xml包含一些基本的Maven配置,好比配置Spark所依赖的Java 8。它会把全部的依赖封装成一个大的jar包。我不是 Maven专家,因此我无法把例子写得更简单、更流畅以便让他们更受欢迎。这是pom文件地址,你能够看看个人配置:https://gist.github.com/luebke … m-xml 框架

Hello.java

pom.xml文件定义mainClass为sparkexample.Hello,咱们须要在src/main/java/sparkexample/目录下建立Hello.java文件。 curl

Dockerfile

最后咱们来编写Dockerfile文件,这个Dockerfile使用到了Java镜像(java:oracle-java8), 并从安装Maven开始作起。下一步它会安装项目依赖。咱们经过pom.xml来解析这些依赖,正如你所看到的,它容许Docker缓存这些依赖。下一 步,咱们要编译打包咱们的应用,并启动应用。若是咱们重建应用时,pom.xml文件没有任何修改,以前的步骤都被缓存下来了,直接到最后一步启动应用。 这能够加快应用的从新构建速度。 工具

建立和运行

一旦这三个文件已经完成,那建立Docker镜像就变得垂手可得了。

 
  1. $ docker build -t giantswarm/sparkexample

注意:首次启动时会花费一些时间,由于它要安装Maven并下载全部的依赖。以后再启动就须要几秒钟,由于全部的东西都已经缓存了。 镜像建立以后,用下面的命令建立容器:

 
  1. docker run -d -p 4567:4567 giantswarm/sparkexample

用下面的命令访问:

 
  1. curl localhost:4567 hello from sparkjava.com

如今能够去修改源码(返回你想返回的东西)并从新构建,这看起来是否是很棒?

转载请注明:玩赚乐 » 如何使用Docker进行Java入门级开发

相关文章
相关标签/搜索