iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
自我挑戰組

實驗室助理的技術文章自我整理系列 第 2

Docker - Docker 執行 Maven with Dockerfile

  • 分享至 

  • twitterImage
  •  

Docker - Docker 執行 Maven with Dockerfile

參考資料

Docker 指令參考:

Docker Images:lwieske/java-8

說明

這篇筆記基本上跟前一篇差不多,不過這篇是改成用 Dockerfile 再做一遍相同的操作,也順便了解 Dockerfile 的使用方式,特此紀錄,雖然後面沒有機會再用到,但也算是個不錯的經驗。

建立 Dockerfile

Dockerfile 的內容如下:

FROM lwieske/java-8:jdk-8u202-slim

WORKDIR /root

RUN wget http://ftp.mirror.tw/pub/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

RUN tar -zxvf apache-maven-3.5.4-bin.tar.gz

ENV PATH=$PATH:/root/apache-maven-3.5.4/bin/

以上的 Dockerfile 中主要有用到的指令說明如下:

FROM: 使用到的 Docker Image 名稱,今天使用 CentOS
WORKDIR: 切換當前工作目錄,影響到後續的 RUN、CMD、ENTRYPOINT、COPY和ADD指令中的路徑。
RUN: RUN 指令後面放 Linux 指令,用來執行安裝和設定這個 Image 需要的東西
ENV: 用來設定環境變數

Build Docker Image

  1. 預設在和 Dockerfile 檔案同層的資料夾底下輸入, docker build 指令,如下:
docker build -t java8-maven . --no-cache

使用 --no-cache 的主要原因,是避免在 Build Docker image 時被 cache 住,而造成沒有 build 到修改過的 Dockerfile。

  1. Build 完 Docker Image 之後,使用 docker images 指令查看是否有 build 成功如下圖:

  2. 執行 Build 完的 Docker Image ,指令如下:

docker run -it -d --name java8-maven java8-maven
  1. 進入執行中的 Container ,指令如下:
docker attach java8-maven

建立maven專案

先切換到使用者主目錄,指令:cd ~

輸入指令:mvn archetype:generate

會載一堆東西w

看到第一個選項:直接輸入Enter,

第二個選項:這裡是選擇版本號,其中alpha代表內部測試,可以隨便選一個。

接下來要分別輸入四個參數:

groupId:idv.zjh

artifactId:MavenDemo

version :直接輸入Enter

package :直接輸入 Enter

都OK之後,輸入 Y ,出現以下畫面代表 Maven 專案建立成功拉

使用Maven建立Jar包

步驟1:先進入有pom.xml設定的資料夾,輸入 mvn test,進行單元測試,確認沒有問題,指令如下:

cd ~
ls
cd MavenDemo/
mvn test

出現Build Success,表示單元測試成功。

步驟2:輸入 mvn package,產生jar包:

會發現產生了一個 target 資料夾,以及 MavenDemo-1.0-SNAPSHOT.jar 。下面是target目錄的內容:

步驟3:進入target資料夾,輸入 java -cp MavenDemo-1.0-SNAPSHOT.jar idv.zjh.App

有成功顯示的話 Hello World! 表示成功!


上一篇
Docker - Docker 執行 Maven
下一篇
Ubuntu - Ubuntu 查看 CPU 溫度
系列文
實驗室助理的技術文章自我整理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言