Docker 之 Dockerfile 常用語法與實戰
- 2021 年 11 月 23 日
- 筆記
- docker, Dockerfile, SpringCloud, 分佈式, 容器, 微服務
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,歡迎大家關注