成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用Docker 進(jìn)行Java 開發(fā)

云計(jì)算
這是一篇入門級的學(xué)習(xí)教程,推薦Java開發(fā)者閱讀,作者通過一個(gè)簡單的例子演示了如何在Docker中進(jìn)行Java開發(fā)。不需要Maven、不需要JDK,你只需要給你的小伙伴一個(gè)Dockerfile,剩下的事情交給Docker去完成吧。

這周,我和Anna、Stephan、Timo在慕尼黑的W-Jax開了一個(gè)關(guān)于企業(yè)技術(shù)(特別針對Java)的會(huì)議。沒想到居然有這么多的人對Docker感興趣,但問題是怎么在Docker上進(jìn)行Java開發(fā)呢?我個(gè)人比較喜歡短小的示例,它可以通過包含幾個(gè)小文件的框架幫助你了解某個(gè)技術(shù)。不幸的是,這在Java的世界很難實(shí)現(xiàn),因?yàn)榇蠖鄶?shù)的示例都需要某個(gè)IDE以及適當(dāng)?shù)膶eb框架有所了解。在這篇文章中,我將嘗試使用短小的示例,以幫助你快速學(xué)習(xí)如何在Docker中進(jìn)行Java開發(fā)。

準(zhǔn)備工作

現(xiàn)在有非常多的Java Web框架,但我這里并不打算使用它們。我只想要的是一個(gè)小的框架所以我選擇了Spark,它是一個(gè)基于Java 8的極小的框架。Spark使用Maven作為構(gòu)建工具。

源代碼和配置文件

在這個(gè)例子中你要增加三個(gè)文件:

  • Maven的配置文件: pom.xml
  • 一個(gè)Java類:Hello.java
  • 一個(gè)Dockerfile

如果有讀者等不及了,可以克隆這個(gè)repo:

https://github.com/giantswarm/sparkexample

下面我們會(huì)詳細(xì)解釋這三個(gè)文件的結(jié)構(gòu),你可以此視頻來快速了解。

pom.xml

pom.xml包含一些基本的Maven配置,比如配置Spark所依賴的Java 8。它會(huì)把所有的依賴封裝成一個(gè)大的jar包。我不是 Maven專家,所以我沒法把例子寫得更簡單、更流暢以便讓他們更受歡迎。這是pom文件地址,你可以看看我的配置:https://gist.github.com/luebke … m-xml

Hello.java

pom.xml文件定義mainClass為sparkexample.Hello,我們需要在src/main/java/sparkexample/目錄下創(chuàng)建Hello.java文件。

Dockerfile

***我們來編寫Dockerfile文件,這個(gè)Dockerfile使用到了Java鏡像(java:oracle-java8),并從安裝Maven開始做起。下一步它會(huì)安裝項(xiàng)目依賴。我們通過pom.xml來解析這些依賴,正如你所看到的,它允許Docker緩存這些依賴。下一步,我們要編譯打包我們的應(yīng)用,并啟動(dòng)應(yīng)用。如果我們重建應(yīng)用時(shí),pom.xml文件沒有任何修改,之前的步驟都被緩存下來了,直接到***一步啟動(dòng)應(yīng)用。這可以加快應(yīng)用的重新構(gòu)建速度。

創(chuàng)建和運(yùn)行

一旦這三個(gè)文件已經(jīng)完成,那創(chuàng)建Docker鏡像就變得輕而易舉了。

  1. $ docker build -t giantswarm/sparkexample . 

注意:***啟動(dòng)時(shí)會(huì)花費(fèi)一些時(shí)間,因?yàn)樗惭bMaven并下載所有的依賴。之后再啟動(dòng)就需要幾秒鐘,因?yàn)樗械臇|西都已經(jīng)緩存了。

鏡像創(chuàng)建之后,用下面的命令創(chuàng)建容器:

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

用下面的命令訪問:

  1. curl localhost:4567 hello from sparkjava.com 

現(xiàn)在可以去修改源碼(返回你想返回的東西)并重新構(gòu)建,這看起來是不是很棒?

[[125149]]

本文出自:http://dockerone.com/article/62#rd?sukey=fd39034cdd3ad74304c68ed888d30aaf42cfd6288b062f04f664917e2a7dbed354fc4c8483ff0a91a02e8f9eec8eea95

責(zé)任編輯:Ophira 來源: dockerone
相關(guān)推薦

2022-05-06 19:53:33

Java serve

2010-07-30 13:52:17

Flex組件

2015-07-16 15:20:58

DockerDjango

2010-02-03 14:15:18

Python 開發(fā)

2018-05-04 15:27:22

Spring Boo Web開發(fā)

2019-09-29 09:40:20

LinuxWindowsMacOS

2022-02-14 23:17:16

Gitlab嵌入式工具

2016-09-08 16:04:59

JavaDocker前端

2010-11-17 12:59:52

2015-07-28 11:10:22

Docker容器容器編排

2024-03-28 14:40:55

2020-04-29 13:57:39

物聯(lián)網(wǎng)智能停車IOT

2024-07-08 08:38:37

Python游戲開發(fā)

2021-03-05 00:06:12

Docker容器內(nèi)存

2023-08-24 08:00:00

開發(fā)Java可觀察性

2022-05-26 08:38:10

Docker鏡像運(yùn)維

2023-08-11 18:16:08

DevOps開發(fā)

2009-08-07 10:53:59

Visual C#Excel

2021-10-26 21:50:10

Rust嵌入式開發(fā)

2023-08-11 07:59:15

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一级毛片视频 | 日韩精品一区二区三区在线观看 | av国产精品毛片一区二区小说 | 国产精品久久久亚洲 | 久久久999精品 | 一区二区三区小视频 | 色一情一乱一伦一区二区三区 | 成人午夜免费视频 | 一区二区日本 | 欧美在线国产精品 | 亚洲成人精品 | a中文在线视频 | 97国产精品| 国产亚洲成av人片在线观看桃 | 国产免费拔擦拔擦8x高清 | 久久精品国产99国产精品 | 一级黄色录像片子 | 亚洲精品久久久久久久久久吃药 | 亚洲成人一区二区在线 | 可以免费观看的av | 精品在线观看入口 | 国产三级| 亚洲国产成人精品女人久久久 | 国产精品久久影院 | 亚洲欧美日韩网站 | 亚洲成网 | 国产一区二区三区四区 | 91免费在线看 | 欧洲亚洲一区 | 欧美乱大交xxxxx另类电影 | 美女黄视频网站 | 在线成人精品视频 | 99久久婷婷国产亚洲终合精品 | 日本在线精品视频 | 久草精品在线 | 国产aⅴ | 欧美日韩国产在线观看 | 狼人伊人影院 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 亚洲欧美精品久久 | 日韩欧美亚洲 |