如何利用Docker部署一个简单的springboot项目
1、首先利用docker部署一个redis中间件这里注意两个问题:
挂载两个redis文件
[*]redis的配置文件 redis.conf
[*]挂载redis的数据目录
https://img.jbzj.com/file_images/article/202402/2024022114370298.png
1.1、下载redis镜像
docker pull redishttps://img.jbzj.com/file_images/article/202402/2024022114370299.png
1.2、在主机创建redis挂载的目录和文件
mkdir /root/data/redishttps://img.jbzj.com/file_images/article/202402/20240221143702100.png
创建redis.conf,里面的内容为:
appendonly yesrequirepass ABC@123
1.3、部署redis中间件
部署一个Redis+应用,尝试应用操作Redis产生数据
##运行redis镜像docker run -v /root/data/redis/redis.conf:/etc/redis/redis.conf \-v /root/data/redis/data:/data \-d --name myredis \-p 6379:6379 \redis:latestredis-server /etc/redis/redis.confredis使用自定义位置的配置文件启动命令。
redis启动成功
https://img.jbzj.com/file_images/article/202402/20240221143702101.png
使用redis桌面连接工具redisdestopmanager测试连接docker启动的redis应用:
注意这边要记住放行安全组中的6379端口!!!!
https://img.jbzj.com/file_images/article/202402/20240221143702102.png
连接成功!!!
https://img.jbzj.com/file_images/article/202402/20240221143702103.png
2、创建springboot项目
使用下面的方式创建一个简单的springboot项目:
https://start.spring.io/
https://img.jbzj.com/file_images/article/202402/20240221143703104.png
使用idea打开下载的项目,删除无用文件和文件夹,等待下载所需依赖。
https://img.jbzj.com/file_images/article/202402/20240221143703105.png
2.1、修改application.yml
spring:data: redis: host: xx.xx.xx.xx port: 6379 password: ABC@123
2.2、编写controller
/** * @Author tigerhhzz * @Date 2024 02 20 10 48 * 统计访问页面的人数 **/@RestControllerpublic class CounterController { @Autowired StringRedisTemplate redisTemplate; @GetMapping("/hello") public String count(){ Long increment = redisTemplate.opsForValue().increment("count-person"); return "有【"+ increment +"】人访问了这个页面"; }}https://img.jbzj.com/file_images/article/202402/20240221143703106.png
2.3、启动应用并测试访问
https://img.jbzj.com/file_images/article/202402/20240221143703107.png
查看redis的count-person的值的变化:
https://img.jbzj.com/file_images/article/202402/20240221143703108.png
3、将应用打包成镜像
编写Dockerfile将自己的应用打包镜像
所有机器都安装Docker,任何应用都是镜像,所有机器都可以运行。
3.1、编写Dockerfile
FROM openjdk:17-jdk-alpineLABEL maintainer=tigerhhzzCOPY target/*.jar /app.jarENTRYPOINT ["java","-jar","/app.jar"]https://img.jbzj.com/file_images/article/202402/20240221143703109.png
3.2、上传文件到服务器
上传的文件为jar包和Dockerfile文件
https://img.jbzj.com/file_images/article/202402/20240221143703110.png
利用xshell工具上传文件
https://img.jbzj.com/file_images/article/202402/20240221143703111.png
3.3、制作java应用镜像
docker build -t java-demo:v1.0 .https://img.jbzj.com/file_images/article/202402/20240221143703112.png
镜像制作完成,查看java-demo镜像:
https://img.jbzj.com/file_images/article/202402/20240221143703113.png
4、启动容器
启动应用容器
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0 启动成功:
https://img.jbzj.com/file_images/article/202402/20240221143703114.png
5、访问测试
https://img.jbzj.com/file_images/article/202402/20240221143703115.png
6、镜像应用分享与启动
6.1、推送到阿里云个人镜像仓库
##登录阿里云Docker Registrydocker login --username=aliyun2164344789 registry.cn-zhangjiakou.aliyuncs.com##打标签docker tag 596b1bd9b839 registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0##推送镜像docker push registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0https://img.jbzj.com/file_images/article/202402/20240221143703116.png
镜像推送成功
https://img.jbzj.com/file_images/article/202402/20240221143704117.png
6.2、新的主机拉取镜像并启动容器
docker pull registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0查看镜像
docker imageshttps://img.jbzj.com/file_images/article/202402/20240221143704118.png
运行镜像
docker run -d -p 8080:8080 --name tigerhhzz-java-app registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0 访问测试
https://img.jbzj.com/file_images/article/202402/20240221143704119.png
两台机子并发访问
https://img.jbzj.com/file_images/article/202402/20240221143704120.png
到此这篇关于如何利用Docker部署一个简单的springboot项目的文章就介绍到这了,更多相关Docker部署springboot项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://www.jb51.net/server/316049gvy.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]