springboot2.X打包docker容器部署

本文详细介绍如何在IntelliJ IDEA中创建SpringBoot项目,并整合Docker进行镜像构建、容器化部署及日志查看。从配置Maven插件、构建Dockerfile,到远程服务器镜像上传、容器运行测试,提供全面的步骤指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建项目

使用idea创建springboot项目

项目地址: springboot-docker-demo

 

创建好之后,在pom.xml中添加docker的build工具

这里需要服务器docker开通远程访问端口(下面有开通方法),用于项目docker镜像的打包上传

dockerHost  docker服务器地址

imageName 镜像名称+版本号


 
 
  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot </groupId>
  5. <artifactId>spring-boot-maven-plugin </artifactId>
  6. </plugin>
  7. <!-- Docker maven plugin -->
  8. <plugin>
  9. <groupId>com.spotify </groupId>
  10. <artifactId>docker-maven-plugin </artifactId>
  11. <version>1.0.0 </version>
  12. <configuration>
  13. <!-- docker私服的地址 -->
  14. <dockerHost>http://192.168.112.135:2375 </dockerHost>
  15. <!--镜像名称以及版本号-->
  16. <imageName>demo:1.0.0 </imageName>
  17. <!-- 若需要重复构建相同标签名称的镜像,可将 forceTags 设置为 true -->
  18. <forceTags>true </forceTags>
  19. <!--Dockerfile的位置 -->
  20. <dockerDirectory>${project.basedir}/src/main/docker </dockerDirectory>
  21. <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
  22. <resources>
  23. <resource>
  24. <targetPath>/ </targetPath>
  25. <directory>${project.build.directory} </directory>
  26. <include>${project.build.finalName}.jar </include>
  27. </resource>
  28. </resources>
  29. </configuration>
  30. </plugin>
  31. <!-- Docker maven plugin -->
  32. </plugins>
  33. </build>

接下来在项目的 src/java/main 目录下创建 docker/Dockerfile 结构如下

Dockerfile文件内容为


 
 
  1. # 父镜像
  2. FROM lion_li/jdk: 8
  3. MAINTAINER Lion Li
  4. VOLUME /root
  5. # 添加jar包到容器并重命名
  6. ADD docker-demo- 0. 0. 1-SNAPSHOT.jar demo.jar
  7. RUN bash -c 'touch /demo.jar'
  8. # 同步容器与本机时间
  9. RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/ localtime \
  10. && echo 'Asia/Shanghai' > /etc/timezone
  11. # 使用端口
  12. EXPOSE 8080
  13. ENV JAVA_OPTS= "-Xms256m -Xmx256m"
  14. # -Djava.security.egd=file:/dev/./urandom 加速tomcat启动
  15. # -Dspring.profiles.active=prod 指定spring运行环境,不用可以删除
  16. ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=prod -jar /demo.jar"]

lion_li/jdk:8  该镜像为本人搭建的oracle jdk镜像 也可以使用 openjdk镜像  java:8

如需oracle jdk镜像请参考本人的另一篇文章: docker 搭建 oracle jdk(版本可更换) 镜像

2.构建镜像

使用maven打包工具打包

使用docker工具构建镜像并上传服务器

此操作需要服务器docker开通远程访问端口

可以参考本人的另一篇文章: docker 开启端口 2375 供外部程序访问

查看镜像

docker images
 
 

上传成功

再次执行,docker会把名称赋值给我们较新的镜像,原先较旧的镜像也不会覆盖,而是会变为一个无名镜像

将无名镜像删除即可

可以参考我的另一篇文章: docker 删除 容器/镜像 方法

3.生成容器

创建容器

docker run -d --name demo -p 8080:8080 -t demo:1.0.0
 
 

查看所有容器

docker ps -a
 
 

创建成功,运行容器

docker start demo
 
 

4.查看springboot docker容器运行日志

docker logs -f -t --tail 行数 容器名

docker logs -f -t --tail 50 demo
 
 

5.测试

访问insert接口

访问查询接口

测试成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值