一、在pom.xml添加依赖dockerfile-maven-plugin插件
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.10</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<repository>${project.artifactId}</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
二、在项目所在文件下,创建Dockerfile文件,添加配置
#暴露的端口是8085
EXPOSE 8085
#将此路径下的springboot-init-0.0.1-SNAPSHOT.jar复制到springboot-init.jar容器里
ADD ./springboot-init-0.0.1-SNAPSHOT.jar springboot-init.jar
三、将项目打包,把jar包放到Dockerfile文件同级文件下
四、将项目上传到服务器,进入项目目录
五、创建镜像
docker build -t 镜像名
六、查看镜像是否创建成功
docker images
七、端口映射
docker run -id -p 服务器端口:容器端口 镜像名
八、查看镜像是否成功运行
docker ps
查询不到则执行以下
docker ps -a
如果状态为exit()之类,则需要重新打包镜像,或者检查Dockerfile文件是否写对了,参考以下教程
Docker 退出容器但不关闭当前容器_L-960的博客-CSDN博客_docker退出不关闭容器
Docker部署SpringBoot项目_长伴吾身的博客-CSDN博客_docker配置springboot项目
九、进入容器,启动springboot
docker exec -it 容器id /bin/bash
java -jar 刚才打包好的jar名
ps①附加指令详细意思,可以根据实际情况动态调整(具体可参考下文)21-Docker-常用命令详解-docker run_爱学习de测试小白的博客-CSDN博客_docker run 端口
ps②如果不熟练创建了太多镜像和docker,可用以下方法进行管理
#先删除容器再删除镜像
docker rm 容器名/容器id
docker stop 容器名/容器id
docker rmi 镜像名
docker rmi -f 镜像名 #强制删除