docker镜像助你快速部署SpringBoot项目
程序员文章站
2024-01-12 14:40:04
...
SpringBoot项目生成docker镜像并完成容器部署
一、为什么使用Docker部署SpringBoot项目
Dokcer确实是个好东西,自从使用了它之后,不论是nginx mysql redis,还是xxx,通通放里边儿,管理起来非常好管理,部署也很方便,其实说白了就是懒。可是工具开发出来不正是方便我们使用的嘛,嘿嘿。下面正式进入主题——
把spring boot项目生成的ja包r打成docker镜像并生成docker容器完成部署是比较简单方便的部署方式,而且部署过程很少会出错
二、部署步骤
1. 利用maven或者gradle完成打包工作,打成jar包的形式。(点击IDEA右侧的Maven)
如果显示如下则表示打包成功
build成功后在target目录下会生成jar包
2. 在项目中的任意位置创建Dockerfile文件,文件代码如下:
FROM java:8
VOLUME /tmp
ADD yisanbang-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
- FROM java:8是指含有jdk1.8的镜像
- VOLUE /tmp: /tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录
- ADD yisanbang-0.0.1-SNAPSHOT.jar app.jar: 添加自己的项目到到app.jar中,注意:这里的包名要和pom文件中的包名一致,后面的app,jar可以自己取
- ENTRYPOINT是指容器运行后默认执行的命令
3. 上传自己的项目和Dockerfile文件到虚拟机,可以放在同一个目录下面
4. 创建自己的镜像
docker build -t yisanbang:1.0-SNAPSHOT .
注意最后有一个 .
显示创建成功,查看下镜像。
现在镜像就创建成功了。
5. 生成docker容器
docker run -d -p 8089:8089 --name yisanbang yisanbang:1.0-SNAPSHOT
- -d:后台运行容器
- -p 8089:8089 主机的端口和docker容器中的端口做映射
- yisanbang 自定义容器名称
- yisanbang:1.0-SNAPSHOT:镜像名称和对应版本,如果没有指定版本,默认会去寻找lasest版本
docker run…命令执行成功之后使用 docker ps 命令,检查是否存在yisanbang容器并在运行中
确实是生成了容器并已经在运行了。
之后用浏览器访问页面测试一下:
成功访问,至此SpringBoot项目生成docker镜像并容器部署Finish
附:虽然能访问到Swagger UI页面,但是用Swagger测试接口时会显示
TypeError: Failed to fetch;在下篇笔记中记录解决方案
推荐阅读
-
docker镜像助你快速部署SpringBoot项目
-
阿里云服务器Docker中部署SpringBoot项目
-
docker部署springboot和vue项目的实现步骤
-
详解springboot项目docker部署实践
-
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数示例代码
-
详解springboot项目docker部署实践
-
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数示例代码
-
Mac下部署springBoot项目到Docker中(demo)
-
基于idea把springboot项目部署到docker
-
k8s + docker + Jenkins使用Pipeline部署SpringBoot项目时Jenkins错误集锦