国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Java工程師怎么在Docker上進(jìn)行開(kāi)發(fā)

發(fā)布時(shí)間:2021-09-14 18:13 來(lái)源:億速云 閱讀:0 作者:chen 欄目: 服務(wù)器 歡迎投稿:712375056

本篇內容介紹了“Java工程師怎么在Docker上進(jìn)行開(kāi)發(fā)”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!

安裝

現在有很多的Java Web框架,挑選一個(gè)非常小的框架,選擇Spark吧!它是一款基于Java-8的微型Sinatra框架。如果你去閱讀Spark的說(shuō)明文檔,會(huì )了解它是用Maven作為其構建工具。


在本示例里,會(huì )利用Maven和Docker的分層文件系統(UnionFS),從零開(kāi)始安裝一切。與此同時(shí),當重新編譯變動(dòng)的內容時(shí),也需要一些時(shí)間。

因此,你需要的預備知識是:無(wú)需Java,無(wú)需Maven,只需Docker。

源代碼和配置文件

本例中,你必須得添加以下3個(gè)文件:

*   Maven配置:`pom.xml`
*   Java文件:`Hello.java`
*   `Dockerfile`

如果覺(jué)得篇幅過(guò)長(cháng),可以直接[克隆如下repo]:

```
git clone https://github.com/giantswarm/sparkexample
```

pom.xml

`pom.xml`文件包含一個(gè)基本的Maven配置。這個(gè)大家都很熟悉的了!它用Java1.8編譯器配置Spark的依賴(lài)項,并用所有依賴(lài)項創(chuàng )建一個(gè)大的jar包。有多大???不過(guò)肯定要比希云的微鏡像大!如果你還不知道希云的微鏡像,那你就快OUT了。微鏡像地址:http://csphere.cn/hub

Hello.java

`pom.xml`文件定義了一個(gè)類(lèi)名叫:`sparkexample.Hello`的 main class(主類(lèi))。在子路徑`src/main/java/sparkexample/`下創(chuàng )建Hello.java文件。

正如你看到的,這是最新的Java代碼:靜態(tài)導入和lambda表達式,使該例子非常緊湊。類(lèi)包含一個(gè)main method(主要方法),響應root請求("/")。像HelloWorld一樣普通,響應只是簡(jiǎn)單的字符串。

Dockerfile

最后一個(gè)也是,最重要的一個(gè)文件:`Dockerfile`

```
FROM java:8
   
# Install maven
RUN apt-get update 
RUN apt-get install -y maven
   
WORKDIR /code
   
# Prepare by downloading dependencies
ADD pom.xml /code/pom.xml 
RUN ["mvn", "dependency:resolve"] 
RUN ["mvn", "verify"]
   
# Adding source, compile and package into a fat jar
ADD src /code/src 
RUN ["mvn", "package"]
   
EXPOSE 4567 
CMD ["/usr/lib/jvm/java-8-openjdk-amd64/bin/java", "-jar", "target/sparkexample-jar-with-dependencies.jar"] 
```

基于`java8`,安裝Maven,和構建jar包。(如想構建jdk,jre的docker鏡像請查看http://csphere.cn/hub/jdk)。通過(guò)添加pom.xml文件解析依賴(lài)項實(shí)現構建。

實(shí)際操作過(guò)程中會(huì )發(fā)現,如果我們不改變pom.xml而想重新編譯app,之前的步驟已被緩存,只運行最后的步驟,這將使重編譯速度更快。這點(diǎn)docker的優(yōu)勢非常明顯!

創(chuàng )建和運行

有以上3個(gè)文件后,創(chuàng )建Docker鏡像就變得非常簡(jiǎn)單:

    $ docker build -t csphere/sparkexample .

注意:第一次構建時(shí),需要等一會(huì )。需要先下載安裝Maven,還會(huì )下載所有項目依賴(lài)項。以后每次編譯啟動(dòng)只需要幾秒鐘就可以了,不要問(wèn)我為什么為什么只需幾秒,因為有緩存。

鏡像創(chuàng )建好后,啟動(dòng)容器:

    $ docker run -d -p 4567:4567 csphere/sparkexample


測試:

    $ curl localhost:4567
    hello from sparkjava.com 

創(chuàng )建鏡像就這么簡(jiǎn)單!現在,可以去修改源代碼,再重新編譯,是不是很簡(jiǎn)單,很棒呢?!

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

久久精品AⅤ无码中文字字幕不卡| 人妻系列无码专区久久五月天| 情人伊人久久综合亚洲| 亚洲精品456在线播放| 老师办公室被吃奶好爽在线观看| 国产性色ΑV视频免费|