、
springboot项目 docker化
添加依赖

代码片段:<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.0</version> <configuration> <!-- 这里是最终生成的docker镜像名称 --> <imageName>
{project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>
{project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
创建 Dockerfile
在src/main下新建docker目录,在该目录下建立Dockerfile文件

代码片段:FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD wisdom-house-area-server-1.0.0.war app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
生成jar包

将该war包复制到docker目录下
生成docker镜像
在项目目录下 执行mvn docker:build -Dmaven.test.skip=true

查看docker镜像
docker images |grep wisdom-house-area-server

运行docker镜像
docker run -d -p 8081:8085 wisdom-house-area-server注意1: 8085是 springboot项目配置文件中配置的端口号 注意2: springboot项目访问本地数据库要使用本地的ip 不要使用127.0.0.1 否则在本容器中找不到数据库服务 注意3: 8081端口是宿主机上的端口


测试
访问 http://192.168.50.100:8081/

上传docker镜像
- 登陆dokcer账号
docker login

- 查看正在运行的container-id
docker ps |grep wisdom-house-area-server

- 提交容器到dockerhub中
docker commit 7f043676e51c mengfanxiao/springboot-area
mengfanxiao 是我的dockerhub账号 springboot-area 是资源名称
- 将镜像push到dockerhub中
docker push mengfanxiao/springboot-area:latestlatest是创建镜像时的tag

验证
1⃣️ 用命令验证
docker inspect mengfanxiao/springboot-area:latest

2⃣️ 去dockerhub查看
https://id.docker.com/

使用docker镜像
docker pull mengfanxiao/springboot-area:latest

参考文献
https://www.jianshu.com/p/f341ef523d18
本文使用 mdnice 排版