手把手教你使用 Docker部署 spring boot 项目(含源码)

使用 Dockerfile 结合 docker-compose部署 spring boot 项目

1. 环境准备

安装docker 环境

安装构建工具 maven

准备自己的 spring boot 项目

2. docker 下载 jdk镜像

此处使用openjdk:11

docker pull openjdk:11

3. 项目打包

使用maven package 命令 将项目 打成 jar 备用

  1. 可以直接使用 命令

mvn clean

mvn package

  1. 使用 idea maven 工具

idea maven打包工具

  1. 打包完成后 jar包会存在于
    jar包位置

4. 编写Dockerfile文件

Dockerfile配置详解解析 参见我的另一篇 博客 https://blog.csdn.net/qq_41692766/article/details/105666618

  • 将jar 包拷贝到 指定 自己的 目录下(随意选取)

  • 新建Dockerfile文件 (无后缀)

  • 内容简单示例

    FROM openjdk:11
    VOLUME /tmp
      #根据自己定义的项目名称进行修改
    ADD common-registcenter-0.0.1-SNAPSHOT.jar common-registcenter-0.0.1-SNAPSHOT.jar
    ENTRYPOINT ["java","-jar","/common-registcenter-0.0.1-SNAPSHOT.jar"]
    
  • 镜像构建

    docker build -t register:0.1 .
    

    注意结尾 一定有一个 英文格式句号 “.”

5. 编写 docker-compose.yml 文件

​ docker-compose配置详解解析 参见我的另一篇 博客 https://blog.csdn.net/qq_41692766/article/details/105666833

  • 创建 docker-compose.yml文件并进行内容编写

  • 内容示例

    version: "3" #版本号
    services:
    #  服务名
      eureka0:
        image: register:0.1  #使用的镜像
        ports:
          - "60010:60010"  #暴露的端口信息和docker run -d -p 80:80 一样
        restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用
        container_name: eureka0 #容器名称
        environment:
          spring.profiles.active: dev0
        build: ./registcenter
      eureka1:
        image: register:0.1  #使用的镜像
        ports:
          - "60011:60011"  #暴露的端口信息和docker run -d -p 80:80 一样
        restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用
        container_name: eureka1 #容器名称
        environment:
          spring.profiles.active: dev1
        build: ./registcenter
      eureka2:
        image: register:0.1  #使用的镜像
        ports:
          - "60012:60012"  #暴露的端口信息和docker run -d -p 80:80 一样
        restart: "always" #重启策略,能够使服务保持始终运行,生产环境推荐使用
        container_name: eureka2 #容器名称
        environment:
          spring.profiles.active: dev2
        build: ./registcenter
    

6. 测试访问

浏览器访问 http://eureka0:60010

7. 代码开源地址:

  • spring boot项目地址:
    https://gitee.com/twelfthLunarMonthFourteen/beauty0/tree/hotfix/common-distribute/common-registcenter
  • docker 源码地址:
    https://gitee.com/twelfthLunarMonthFourteen/pub_beauty/tree/hotfix/env-build/projects/common-distribute
发布了21 篇原创文章 · 获赞 16 · 访问量 5882

猜你喜欢

转载自blog.csdn.net/qq_41692766/article/details/105674500