1.简单的在CentOS中部署docker,可以看看之前的文章:centos中安装docker
2.新建一个可以运行的springboot项目
3.在项目的main目录下新建一个docker目录;如果是多模块项目时,在application所在的项目目录中建。
4.在setting的plugins中添加“docker”插件,并链接上CentOS上的docker(其中注意在防火墙中增加端口,还是不能连接时,需要查看你添加的是否在-A INPUT -j REJECT --reject-with icmp-host-prohibited 之前)


5..在docker目录下新建Dockerfile文件
FROM openjdk:8-jdk-alpine# 上面新建docker文件夹是为了避免在这里写路径ADD *.jar app.jar# []中的内容是在docker中执行的命令组装ENTRYPOINT ["java","-jar","/app.jar"]
Dockerfile内容详解可以参照:https://blog.csdn.net/yanzi920403/article/details/103977667
6.新建启动入口

Dockerfile:项目中Dockerfile文件所在的目录
Image tag : 指定镜像名称和tag,比如docker-demo
Container:对应的container名称,可以随意取
Bind ports : 绑定宿主机端口到容器内部端口。格式为[宿主机端口]:[容器内部端口],注意linux系统是否放开对应的端口
Bind mounts : 将宿主机目录挂到到容器内部目录中,这里配置的/home/developer/app/logs/是项目打印日志,这个可以在application.xml中日志输出时配置
7.在包含启动项application的pom增加docker部署内容(其中包含将部署生成的jar包copy到docker文件夹中,注意部署配置jar的位置;这里要是配置了finalName会导致找不到包,因为下面代码中配置了copy的file模式)
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><fork>true</fork></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>com.hzy.docker</groupId><artifactId>docker-maven-plugin</artifactId><version>1.0.0</version><configuration><dockerDirectory>src/main/docker</dockerDirectory><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources></configuration></plugin><plugin><artifactId>maven-antrun-plugin</artifactId><executions><execution><phase>package</phase><configuration><tasks><copy todir="src/main/docker" file="target/${project.artifactId}-${project.version}.${project.packaging}"></copy></tasks></configuration><goals><goal>run</goal></goals></execution></executions></plugin></plugins></build>
8.执行部署,安装1-2的顺序执行,执行完之后能看到项目正常启动,就说明成功了

9.在CentOS中查询执行情况,就时上面ENTRYPOINT 中的内容拼接
[root@localhost logs]# ps -ef | grep javaroot 32676 32657 1 06:37 pts/0 00:00:40 java -jar /app.jarroot 33413 22303 0 07:38 pts/1 00:00:00 grep --color=auto java
10.重新更新部署时,需要先mvn clean--mvn install的流程
11.测试项目存放连接:
// 单模块https://gitee.com/hzy100java/docker-demo.git// 多模块https://gitee.com/hzy100java/docker-mast.git




