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></center>html
<center><font color=red size=12>公众号便可得到"Spring Cloud"教程</font></center>java
原文出处:https://www.cnblogs.com/ziyegediao/p/11758899.htmlspring