手把手教你使用 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章