1.使用maven将项目打成一个包含所有的jar包
2.pom.xml中包含即可通过mvn clean package 就可以打成可执行jar包
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<mainClass>com.org.Application</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<!-- 分离出代码包
<configuration>
<classifier>exec</classifier>
</configuration>
-->
</execution>
</executions>
</plugin>
</plugins>
</build>
3.将打成的jar包和一个DockerFile文件放入安装了docker的环境
DockerFile内容为:
#指定依赖的镜像
FROM java:8-alpine
#springboot tomcat挂载的目录
VOLUME /tmp
#容器使用端口
EXPOSE 9002
#添加jar包入容器
ADD start-apply-service-1.0-SNAPSHOT.jar app.jar
#改名
RUN sh -c 'touch /app.jar'
#容器启动java
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
------------------------------简化版DockerFile配置-----------------------------------------
FROM java:8-alpine
EXPOSE 9002
ADD start-apply-service-1.0-SNAPSHOT.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
-------------------------------end---------------------------------------------
4.执行 docker build -t springboot:2.0 . #最后的"."指的是DockerFile文件的当前路径,springboot 为镜像名,2.0为tag,build 就是构建的意思。
5.执行上述命名 即可通过docker images 看到 我们生成的镜像
6. docker run -d -p 9002:9002 springboot:2.0 #启动自定义容器
7.docker logs --tail=200 2915c40fdcdf #查看容器启动日志
8.本地尝试访问
来源:oschina
链接:https://my.oschina.net/u/4291707/blog/3315184