如何使用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入門級開發

相關文章
相關標籤/搜索