天天看點

MyEclipse使用Docker的JavaEE開發

本文講的是<b>MyEclipse使用Docker的JavaEE開發</b>【編者的話】本文主要講述了如何在MyEclipse中通過Docker開發JavaEE程式。

&lt;table&gt;

&lt;tr&gt;

&lt;td&gt;Software&lt;/td&gt;

&lt;td&gt;Link&lt;/td&gt;

&lt;/tr&gt;

&lt;td&gt;The Docker Toolbox&lt;/td&gt;

&lt;/table&gt;

&lt;td&gt;Latest MyEclipse installer. (It has a free 30-day trial)&lt;/td&gt;

啟動MyEclipse

選擇MyEclipse &gt; Examples On-Demand。“示例”頁籤就會在MyEclipse儀表闆上打開。

<a href="http://dockerone.com/uploads/questions/20161212/199a2d3c72584c067de3ecce68f00822.png" target="_blank"></a>

選擇Spring,然後點選"Cart Example"那個示例的Install按鈕

<a href="http://dockerone.com/uploads/questions/20161212/1ebf51278643070951957c46f1a9142a.png" target="_blank"></a>

一旦安裝完成,"SpringShoppingCartExample"工程就會被添加到你的workspace中。

<a href="http://dockerone.com/uploads/questions/20161212/524c40f4c3a9b79b1332dfedb7299466.png" target="_blank"></a>

在"SpringShoppingCartExample"工程上點選右鍵,選擇New &gt; Folder。将檔案夾指令為"DockerResources"。

在"DockerResources"檔案夾上點選右鍵,選擇New &gt; File。将檔案指令為"Dockerfile"(保證名稱和大小寫一緻)。

在Dockerfile中加入:

你的工作空間(workspace)将如下圖所示:

<a href="http://dockerone.com/uploads/questions/20161212/5a41f596bd990f4d84a0208e68d428ad.png" target="_blank"></a>

使用Docker容器涉及在shell中直接運作大量指令行,可以從MyEclipse中輕松地使用Terminal視圖來完成,如下所述:

打開應用程式首選項(preferences),選擇Terminal &gt; Local Terminal,然後在Arguments中寫入"-l"(這是一個dask-el)。這樣確定你在“終端”視圖中啟動的shell與登入shell類似,并且能夠獲得正确的執行路徑,是以你可以找到所有Docker工具箱指令。

<a href="http://dockerone.com/uploads/questions/20161212/69fba144bf32c28321691a37bab74a14.png" target="_blank"></a>

打開一個終端,工作目錄就是之前建立的"DockerResources"。右擊"DockerResources",然後選擇Show In &gt; Terminal。

<a href="http://dockerone.com/uploads/questions/20161212/277f037e6ee89905d0a6ae5a74c1ce46.png" target="_blank"></a>

eval指令将設定環境變量,讓Docker指令能夠正常工作,docker version指令将簡單地顯示目前的環境配置。

建構一個Tomcat 7 Docker容器的鏡像 - 根據Dockerfile文檔中的說明使用下面提到的指令。

注意:鏡像是容器的詳細定義,類似于類是執行個體化對象的詳細定義。

下面的指令行将會:

建構一個容器鏡像.

将鏡像存放到本地倉庫MyEclipse中.

将鏡像命名為examples.

建立一個帶有"run"标簽的版本.

在終端上運作如下指令來啟動一個容器。這條指令告訴Docker服務端使用背景程序啟動一個容器(使用-d參數),并且将容器内的端口8080(Tomcat預設端口)映射到主控端上的8080端口,主控端指的是一個運作所有Docker容器的虛拟機。Docker服務端将傳回正在運作的容器的内部ID。

提示:運作ps指令可擷取運作容器的更詳細狀态。

下面的指令告訴Docker主控端的IP:

<a href="http://dockerone.com/uploads/questions/20161212/1c215be51a2620330165d1f12d6b8119.png" target="_blank"></a>

2. 關閉Tomcat 7 Docker容器

建立一個部署,在工程上點選右鍵,選擇MyEclipse &gt; Add and Remove Project Deployments...

<a href="http://dockerone.com/uploads/questions/20161212/b57e7fe2f97f235b726ecb358d557e60.png" target="_blank"></a>

在"Manage Deployments"對話框中,點選Add...按鈕,為部署選擇一個新的服務類型。

<a href="http://dockerone.com/uploads/questions/20161212/e5fdb1ecc26dfe4a70d4406f9b4df805.png" target="_blank"></a>

在"Deploy Modules"對話框中: 

選擇"manually define a new server"

在"Basic"欄目中,選擇"Externally Launched Server"

最後,在"Server name"中填上"Docker Tomcat 7 Container",然後點選"Next"按鈕

<a href="http://dockerone.com/uploads/questions/20161212/18d59f1240b1802ac756a09893a3c073.png" target="_blank"></a>

Docker安裝設定一些虛拟機配置,能夠更容易共享主目錄下的任何位置,在"Deploy Location"中填入"&lt;UserHomeDir&gt;/Applications/DockerDeployments",然後點選"Finish"按鈕。

<a href="http://dockerone.com/uploads/questions/20161212/cc6d504d1245ecfdf8d5c6ec11aba6a8.png" target="_blank"></a>

釋出

<a href="http://dockerone.com/uploads/questions/20161212/9aabf310e8cc3b73c9f2b282495d6794.png" target="_blank"></a>

狀态将會變成"Synchronized"。将滑鼠懸停在部署行上,在彈出的視窗上确認應用程式現在是否已部署到指定的位置。MyEclipse讓所設定的位置與在工作區中對代碼所做的任何更改保持同步,這使得在Docker容器中測試更改變得非常簡單。

<a href="http://dockerone.com/uploads/questions/20161212/98e33894e6ce68ca3008ed8cd6a119bc.png" target="_blank"></a>

<a href="http://dockerone.com/uploads/questions/20161212/644f6010a6d1cca283427edc54dcfea4.png" target="_blank"></a>

<a href="http://dockerone.com/uploads/questions/20161212/76da97b1f580a58fa4c3255e7b11b785.png" target="_blank"></a>

既然你熟悉一些關鍵的Docker指令,那麼快捷方式是什麼?MyEclipse 2016 CI 4加入了将經常使用的Docker指令從Snippets視圖拖放到終端的功能 - 一個真正節省時間的方式!

<a href="http://dockerone.com/uploads/questions/20161212/dd5824f4789ab54f51f9d40e7ece1584.png" target="_blank"></a>

<b>原文釋出時間為:</b>2016-12-11

<b>本文作者:</b>肖遠昊

<b>本文來自雲栖社群合作夥伴Dockerone.io,了解相關資訊可以關注Dockerone.io。</b>

<b></b>

<b>原文标題:</b><b>MyEclipse使用Docker的JavaEE開發</b>