新建并部署Java EE 7應用

jopen 9年前發布 | 37K 次閱讀 Java EE Java開發


7.新建并部署Java EE 7應用

現在你應該學了很多鏡像、容器以及將他們連接在一起的東西,是時候學習不同的部署選項了。讓我們從Java EE 7 sample applications開始。 Java EE 7 sample applications是一個很普通的Java EE 7應用案例,也是一個絕好的學習開始。

7.1新建應用

我們需要先新建應用。

1. 克隆倉庫

git clone

from Internet

https://github.com/javaee-samp ... e.git

From Instructor

git clone dockeradmin@classroom.exampl e.com:10080/root/javaee7-simple-sample.git" kesrc=">dockeradmin@classroom.exampl e.com:10080/root/javaee7-simple-sample.git" data-ke-src=">dockeradmin@classroom.exampl</a> e.com:10080/root/javaee7-simple-sample.git" rel="nofollow" target="_blank">http://root:dockeradmin%40clas ... e.git

2. 新建應用

cd javaee7-simple-sample/

#From Internet

mvn clean package

#From Instructor

curl http://classroom.example.com:8 ... s.xml -o settings.xml

mvn -s settings.xml clean package

7.2啟動應用服務器

新建文件夾,放置部署并且給寫權限

mkdir deployments

chmod a+w deployments

啟動WildFly 服務器:

From Internet

docker run --name wildfly -d -p 8080:8080 -vpwd/deployments:/opt/jboss/wildfly/standalone/deployments/:rw jboss/wildfly

From Instructor

docker run --name wildfly -d -p 8080:8080 -vpwd/deployments:/opt/jboss/wildfly/standalone/deployments/:rw classroom.example.com:5000/wildfly

注意:Windows用戶需要做下小調整,要復制部署到“c:/Users/<USER>/deployments ”,因為boot2docker 的路徑映射在Windows上不一樣。請輸入如下的參數命令:

'docker run --name wildfly -d -p 8080:8080 -v /c/Users/meisele/deployments:/opt/jboss/wildfly/standalone/deployments/:rw [classroom.example.com:5000|jboss]/wildfly'

這個命令會啟動一個名叫” wildfly”的容器。

-v參數會映射一條從主機到容器的參數。這將會是放置部署的路徑。rw參數保證了Docker容器能往里面寫東西。

檢查日志,確認服務器啟動了。

docker logs -f wildfly

在瀏覽器里訪問 http://dockerhost:8080 確認實例正在運行。

現在部署應用的準備工作做好了。

7.3配置JBoss Developer Studio

啟動JBoss Developer Studio

1. 選擇’Servers’按鈕,新建server adapter

新建并部署Java EE 7應用

圖10:Server Adapter

2. 分配已存在的或新建一個WildFly 9.0.0 runtime (修改過的屬性已高亮。)

新建并部署Java EE 7應用

圖11:WildFly Runtime屬性

3. 如果需要創建新的runtime,請選擇WildFly 9.0.1的路徑:

新建并部署Java EE 7應用

圖12: WildFly 9.0.1.Final Runtime

點擊’finish’按鈕。

4. 雙擊選擇的server配置server屬性

新建并部署Java EE 7應用

圖13:Server屬性

主機名指定為’dockerhost’。左邊兩個圓圈里的屬性自動從以前的會話繼承。右邊兩個圓圈里的屬性必須取消以保證deployment scanner和server的一致性。

5. 在server編輯器的部署頁面指定一個自定義的部署路徑

新建并部署Java EE 7應用

圖14:自定義的部署路徑

6. 右鍵新創建的server adapter并點擊’start’

新建并部署Java EE 7應用

圖15:啟動server

7.4使用共享卷部署應用

1.使用Import → Existing Maven Projects導入javaee7-simple-sample應用的源碼

2.右鍵這個項目,選擇’ Run on Server’并選擇之前創建的server。

這個項目會運行起來并展示應用的啟動頁面

新建并部署Java EE 7應用

圖16:啟動server

恭喜!

你已經在JBoss Developer Studio部署了第一個跑在Docker容器上的應用WildFly。

停止WildFly容器的命令:

docker stop wildfly

7.5使用CLI部署應用

命令行接口(CLI)是一個連接實例的工具,它能從命令行環境管理所有的任務。你能使用CLI管理的任務如下:

1. 在standalone/Domain模式下部署/卸載web應用。

2. 在runtime上查看所有部署的應用的信息。

3. 在Standalone/Domain模式下啟動、停止以及重啟節點。

4. 添加/刪除子系統到server上。

現在我們使用CLI來部署運行在Docker容器環境的javaee7-simple-sample到WildFly上。

1. CLI需要本地安裝,成為WildFly的一部分,在之前下載WildFly的時候應該有提供。解壓縮你的下載包到一個目錄(例如:/Users /<USER>/tools/)。系統會創建一個wildfly-9.0.0.Final的文件夾。這個文件夾的路徑會被變 量$WIDLFY_HOME引用。確保增加/Users/<USER>/tools/wildfly-9.0.0.Final/bin到你 的$path環境變量。

2. 以固定的端口映射運行“wildfly-management”鏡像,如4.5.2固定端口映射(這里應該是一個超鏈接)描述的那樣。

3. 運行jboss-cli命令連接到WildFly實例。

啟動WildFly server如下:

From Internet

docker run --name wildfly-managed -d -p 8080:8080 -p 9990:9990 rafabene/wildfly-admin

From Instructor

docker run --name wildfly-managed -d -p 8080:8080 -p 9990:9990 classroom.example.com:5000/wildfly-management

如下命令會啟動一個叫做” wildfly-managed”的容器

jboss-cli.sh --controller=dockerhost:9990 -u=admin -p=docker#admin -c

如下命令展示輸出結果

[standalone@dockerhost:9990 /]

部署應用如下:

deploy <javaee7-simple-sample PATH>target/javaee7-simple-sample-1.10.war --force

現在你已經成功的使用CLI遠程部署運行在docker容器環境的javaee7-simple-sample到WildFly上面。

7.6使用web控制臺部署應用

WildFly有個基于web的管理控制臺。它和JBoss Developer Tools以及CLI依賴的是同一套API。這個web控制臺提供了一種方便易用的方式來管理WildFly實例。對于一個docker容器,它需要被明 確激活,正如 4.5Enabling WildFly Administration(這里應該是一個超鏈接)里描述的那樣。一旦激活,它就能通過 http://dockerhost:9990 被訪問。

新建并部署Java EE 7應用

圖17:WildFly web控制臺

用戶名和密碼信息在圖5里展示。

注意:你或許想停止并刪除在WildFly里運行的容器。這條命令可以做到:docker ps -a | grep wildfly | awk '{print $1}' | xargs docker rm –f

啟動一個新的容器的命令為:docker run -d --name wildfly -p 8080:8080 -p 9990:9990 classroom.example.com:5000/wildfly-management

使用web控制臺部署應用的步驟如下:

1.進入’Deployments’頁面

新建并部署Java EE 7應用

圖18:Deployments頁面

2.點擊’Add’按鈕。

3.在’ Add Deployment’頁面,按照缺省設置,點擊’Next’。

4.點擊’ Choose File’,選擇你電腦上的

<javaee7-simple-sample PATH>/javaee7-simple-sample.war文件,這個文件是在7.1Build Application章配置的。

5.點擊’Next’。

6.選擇’Enable’方框

新建并部署Java EE 7應用

圖19:啟用部署

7.點擊’Finish’

新建并部署Java EE 7應用

圖20:Java EE 7 Simple Sample部署

已經完成Java EE 7 的應用部署,結果能夠在 http://dockerhost:8080/javaee7-simple-sample 里面看到

新建并部署Java EE 7應用

圖21:Java EE 7 Simple Sample的輸出結果

7.7使用API部署應用

一個獨立的WildFly進程,能通過“本地管理接口”配置來監聽遠程的管理請求。應用服務器自帶的CLI工具能使用這些接口,用戶也能開發自定 義的客戶端來使用這些接口。默認的,WildFly管理接口監聽127.0.0.1.當在一個Docker容器里運行的時候,網絡接口應該跟公共的地址綁 定。這能通過綁定0.0.0.0而不是127.0.0.1來做出改變。

1.啟動另一個WildFly實例:

From Internet

docker run -d --name wildfly -p 8080:8080 -p 9990:9990 rafabene/wildfly-admin

From Instructor

docker run -d --name wildfly -p 8080:8080 -p 9990:9990 classroom.example.com:5000/wildfly-management

除了應用端口8080,管理端口9990也是可用的。WildFly鏡像調整啟動腳本,將管理端口綁定到了0.0.0.0。

2.在JBoss Developer Studio里創建一個新的server適配器,取名為 “WildFly 9.0.0-Management”,指定主機名為’dockerhost’。

3.點擊’Next’修改下圖中所示的值

新建并部署Java EE 7應用

圖22:創建server適配器

4.按照’ Remote System Integration’頁面的缺省設置,點擊’Finish’

5.雙擊新建的server適配器,修改server的屬性。指定管理賬號的用戶名和密碼。注意:需要刪除已經存在的密碼,見如下圖:

新建并部署Java EE 7應用

圖23:管理登錄賬號

6.右鍵新建的server適配器并點擊’Start’,狀態會改變成’Started’狀態

新建并部署Java EE 7應用

圖24:同步WildFly Server

7.右鍵javaee7-simple-sample項目,選擇’Run on Server’并選擇這個server。這個項目會運行起來并展示啟動頁面。

8.當結束的時候停止WildFly

docker stop wildfly

新建并部署Java EE 7應用

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!