如何利用Docker部署一个简单的springboot项目,


目录
  • 1、首先利用docker部署一个redis中间件
    • 1.1、下载redis镜像
    • 1.2、在主机创建redis挂载的目录和文件
    • 1.3、部署redis中间件
  • 2、创建springboot项目
    • 2.1、修改application.yml
    • 2.2、编写controller
    • 2.3、启动应用并测试访问
  • 3、将应用打包成镜像
    • 3.1、编写Dockerfile
    • 3.2、上传文件到服务器
    • 3.3、制作java应用镜像
  • 4、启动容器
    • 5、访问测试
      • 6、镜像应用分享与启动
        • 6.1、推送到阿里云个人镜像仓库
        • 6.2、新的主机拉取镜像并启动容器

      1、首先利用docker部署一个redis中间件

      这里注意两个问题:
      挂载两个redis文件

      • redis的配置文件 redis.conf
      • 挂载redis的数据目录

      1.1、下载redis镜像

      docker pull redis

      1.2、在主机创建redis挂载的目录和文件

      mkdir /root/data/redis

      创建redis.conf,里面的内容为:

      appendonly yes
      requirepass 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:latest  redis-server /etc/redis/redis.conf

      redis使用自定义位置的配置文件启动命令。

      redis启动成功

      使用redis桌面连接工具redisdestopmanager测试连接docker启动的redis应用:
      注意这边要记住放行安全组中的6379端口!!!!

      连接成功!!!

      2、创建springboot项目

      使用下面的方式创建一个简单的springboot项目:
      https://start.spring.io/

      使用idea打开下载的项目,删除无用文件和文件夹,等待下载所需依赖。

      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
       * 统计访问页面的人数
       **/
      @RestController
      public class CounterController {
          @Autowired
          StringRedisTemplate redisTemplate;
          @GetMapping("/hello")
          public String count(){
              Long increment = redisTemplate.opsForValue().increment("count-person");
              return "有【"+ increment +"】人访问了这个页面";
          }
      }

      2.3、启动应用并测试访问

      查看redis的count-person的值的变化:

      3、将应用打包成镜像

      编写Dockerfile将自己的应用打包镜像

      所有机器都安装Docker,任何应用都是镜像,所有机器都可以运行。

      3.1、编写Dockerfile

      FROM openjdk:17-jdk-alpine
      LABEL maintainer=tigerhhzz
      COPY target/*.jar   /app.jar
      ENTRYPOINT ["java","-jar","/app.jar"]

      3.2、上传文件到服务器

      上传的文件为jar包和Dockerfile文件

      利用xshell工具上传文件

      3.3、制作java应用镜像

      docker build -t java-demo:v1.0 .

      镜像制作完成,查看java-demo镜像:

      4、启动容器

      启动应用容器

      docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0 

      启动成功:

      5、访问测试

      6、镜像应用分享与启动

      6.1、推送到阿里云个人镜像仓库

      ##登录阿里云Docker Registry
      docker 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.0

      镜像推送成功

      6.2、新的主机拉取镜像并启动容器

      docker pull registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0

      查看镜像

      docker images

      运行镜像

      docker run -d -p 8080:8080 --name tigerhhzz-java-app registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0 

      访问测试

      两台机子并发访问

      到此这篇关于如何利用Docker部署一个简单的springboot项目的文章就介绍到这了,更多相关Docker部署springboot项目内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

      您可能感兴趣的文章:
      • Gitlab-runner+Docker实现自动部署SpringBoot项目
      • idea快速实现将SpringBoot项目打包Docker镜像并部署
      • Docker部署SpringBoot应用的实现步骤
      • Docker compose部署SpringBoot项目连接MySQL及遇到的坑
      • Springboot服务Docker化自动部署的实现方法
      • Springboot打包为Docker镜像并部署的实现
      • 详解docker部署SpringBoot及替换jar包的方法
      • docker安装tomcat并部署Springboot项目war包的方法
      • 在Idea中使用Docker部署SpringBoot项目的详细步骤
      • 利用Dockerfile部署SpringBoot项目的方法
      • springboot整合docker部署实现两种构建Docker镜像方式
      • 详解springboot项目docker部署实践

      相关内容