docker 打包springboot镜像并启动

一世执手 提交于 2021-02-11 21:36:24

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.本地尝试访问

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!