FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] ps: FROM: 第一條指令必須是FROM指令 (環境依賴 jdk 版本等) VOLUME: 做用是建立在本地主機或其餘容器能夠掛載的數據卷,用來存放數據。 ARG: 定義一個變量 JAR_FILE: 爲pom文件中項目定義的路徑地址 COPY: 複製本地主機src目錄或文件到容器的desc目錄,desc不存在時會自動建立。 ENTRYPOINT: 每一個Dockerfile中只能有一個ENTRYPOINT,當有多個時最後一個生效。
<properties> <docker.image.prefix>springio</docker.image.prefix> </properties> <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.3.6</version> <configuration> <repository>${docker.image.prefix}/${project.artifactId}</repository> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin> </plugins>
a.mvn package dockerfile:build(項目路徑下) b.docker 查看鏡像 docker images c.運行項目 docker run -d -p 8099:8099 springio/xlw_demo
a.問題 若是代碼更改,docker鏡像中仍是老代碼,須要手動刪除很不方便 b.啓動的時候須要命令號窗口啓動不方便 c.打開軟件時可否跟隨docker一塊兒啓動
<center>![blockchain](https://maziye.oss-cn-beijing.aliyuncs.com/1569635074%281%29.jpg "公衆號")</center>html
<center><font color=red size=12>公衆號便可得到"Spring Cloud"教程</font></center>java
原文出處:https://www.cnblogs.com/ziyegediao/p/11758899.htmlspring