什麼是Dockerfile,官方來說是docker能夠經過dockerfile格式的文件來構建應用鏡像。java
一,那麼dockerfile格式的文件是什麼?linux
若是瞭解linux,那麼你能夠理解爲這就是一個shell腳本。構建鏡像的時候經過執行這個腳本,web
1,能夠快速構建出帶有jdk,tomcat,Nginx等相關web環境的鏡像。spring
2,能夠掛載宿主機路徑下的文件docker
3,docker容器構建成功默認執行的命令shell
二,語法(網上不少,這裏就不詳細闡述)tomcat
1,在宿主機上mkdir docker建立docker目錄,在目錄下拷貝spring-boot.jar和touch Dockerfilespringboot
名字隨便起。bash
2,vi Dockerfile加入下面五行命令java-web
FROM java-web 構建鏡像的基礎源鏡像,java-web爲我本地docker images存在的鏡像,也能夠從
Docker公共庫中pull鏡像
VOLUME /tmp 建立/tmp目錄,spring boot內嵌的tomcat容器默認使用/tmp做爲工做目錄
ADD spring-boot.jar app.jar 將宿主機本地文件/目錄添加到鏡像的指定路徑
RUN bash -c 'touch /app.jar' 構建鏡像時執行的命令,啓動容器與RUN無關
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 鏡像啓動後默認執行運行app.jar來啓動spring boot服務
3,開始構建鏡像
docker build -t 鏡像名/tag Dockerfile所在的路徑
若是在當前目錄,"."表示當前目錄
鏡像構建完成。
4,而後啓動鏡像
docker run -i -t springboot/1.1 sh