Docker 之 Dockerfile 常用語法與實戰

1. 概述

老話說的好:超越別人,不如超越自我,每天比昨天的自己更強就好。

 

言歸正傳,之前聊了 Docker 的相關知識,今天來聊聊如何編輯 Dockerfile 腳本,來創建我們自己的鏡像。

 

2. Dockerfile 相關知識

2.1 腳本語法 

FROM 鏡像名  // 以哪個鏡像為基礎

MAINTAINER zhuifengren   // 運維人員姓名

RUN mkdir test1  // 執行一個命令,創建目錄 test1 

RUN touch test2  // 執行一個命令,創建文件 test2

COPY test3 .   // 複製宿主機當前目錄文件 test3 到 容器默認目錄

ADD test4.tar.gz .   // ADD命令也是複製宿主機文件到容器默認目錄,但ADD會先解壓再複製,也可以寫一個網址,ADD會先從網址下載文件再複製

ENTRYPOINT [“/bin/sh”]   // 執行命令,如果有多條,只會執行最後一條的,必然會被執行

 

2.2 鏡像創建命令

在 Dockfile 文件的同級目錄,執行下面命令

# docker build -t 鏡像名稱 .

-t :是為生成的 Docker 鏡像取個名稱,名稱的格式為 鏡像名稱:版本號,只寫鏡像名稱則代表是最後的版本

最後的點 . :是在當前目錄尋找 Dockerfile 文件

 

2.3 鏡像運行命令

# docker run 鏡像名稱

 

3. Dockerfile 實戰

3.1 概述

生成一個 Docker 鏡像,用於跑我們微服務組件中的 eureka。 

 

3.2 將 my-eureka 工程打包

# maven clean package 

 

3.3 編寫 Dockerfile 文件

# vi Dockerfile

FROM java:8
ADD my-eureka-0.0.1-SNAPSHOT.jar my-eureka-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java","-jar","my-eureka-0.0.1-SNAPSHOT.jar"]

 

3.4 生成鏡像

將打包好的 my-eureka-0.0.1-SNAPSHOT.jar 拷貝到 Dockerfile 的同級目錄

# docker build -t myeureka .

 

3.5 運行鏡像

docker run -d -p 35000:35000 –name myeureka myeureka

這裡 eureka 使用的是 35000 端口。

 

4. 綜述

今天聊了一下 Dockerfile 相關的知識 ,希望可以對大家的工作有所幫助。

歡迎幫忙點贊、評論、轉發、加關注 :)

關注追風人聊Java,每天更新Java乾貨。

 

5. 個人公眾號

追風人聊Java,歡迎大家關注