請先查看上篇文章:linux下 docker的安裝
1、首先準備一個可以正確運行的jar文件
我這裏準備了一個名叫springcloud-eureka.jar的文件,我們測試如何使用dockerfile將jar文件打包成docker鏡像。
2、編寫dockerfile文件
FROM java:8-jre-alpine MAINTAINER oowoo [email protected] ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone #設置時區 COPY target/eureka-0.0.1-SNAPSHOT.jar /eureka-0.0.1-SNAPSHOT.jar ENTRYPOINT ["sh","-c", "java -Dserver.port=1010 -Xms300m -Xmx300m -jar /eureka-0.0.1-SNAPSHOT.jar"]
①、FROM: 格式爲FROM image或FROM image:tag,並且Dockerfile中第一條指令必須是FROM指令,且在同一個Dockerfile中創建多個鏡像時,可以使用多個FROM指令
②MAINTAINER oowoo [email protected] #格式爲MAINTAINER user_name user_email,指定維護者信息
③、RUN :這裏僅僅只是設置一個時區
④、COPY: 格式爲:COPY src desc 複製本地主機src目錄或文件到容器的desc目錄,desc不存在時會自動創建
⑤、ENTRYPOINT:格式有兩種:
ENTRYPOINT ["executable","param1","param2"]
ENTRYPOINT command param1,param2 會在shell中執行。
用於配置容器啓動後執行的命令,這些命令不能被docker run提供的參數覆蓋。和CMD一樣,每個Dockerfile中只能有一個ENTRYPOINT,當有多個時最後一個生效。
3、創建鏡像
在dockerfile文件所在目錄執行以下命令:
docker build -t springcloud-eureka ./
springcloud-eureka是隨意取的自定義鏡像名稱,如果看到如下內容,說明鏡像創建成功。
4、查看鏡像列表
docker images
鏡像列表如下:
5、啓動鏡像
docker run -it -p 999:1010 springcloud-eureka/ /bin/bash
-p 指定對外訪問的端口和容器端口,999是對外訪問的端口,1010是容器端口
6、查看docker啓動的鏡像進程
docker ps -a
已經啓動的進程列表如下:
7、訪問鏡像
http://ip:999
我這裏啓動的是springcloud服務註冊中心eureka,訪問到的頁面如下: