最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker編寫java的jar完整步驟記錄

 更新時(shí)間:2025年09月23日 11:14:17   作者:haogexiaole  
在平常的開發(fā)工作中,我們經(jīng)常需要部署項(xiàng)目,開發(fā)測(cè)試完成后,最關(guān)鍵的一步就是部署,這篇文章主要介紹了docker編寫java的jar的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

all-docker/

├── docker-compose.yml

├── a/

│ ├── Dockerfile

│ └── a.jar

└── b/

├── Dockerfile

└── b.jar

生成Docker打包部署文件

項(xiàng)目結(jié)構(gòu)說(shuō)明

項(xiàng)目根目錄包含docker-compose.yml和兩個(gè)子目錄a/、b/,分別存放服務(wù)A和服務(wù)B的代碼及Docker配置。目標(biāo)是通過(guò)Docker Compose統(tǒng)一構(gòu)建和部署這兩個(gè)服務(wù)。

配置服務(wù)A的Dockerfile (a/Dockerfile)

# 使用官方Java基礎(chǔ)鏡像
FROM openjdk:17-jdk-slim

# 復(fù)制JAR文件到容器
COPY a.jar /app/a.jar

# 指定啟動(dòng)命令
ENTRYPOINT ["java", "-jar", "/app/a.jar"]

配置服務(wù)B的Dockerfile (b/Dockerfile)

# 使用官方Java基礎(chǔ)鏡像
FROM openjdk:17-jdk-slim

# 復(fù)制JAR文件到容器
COPY b.jar /app/b.jar

# 指定啟動(dòng)命令
ENTRYPOINT ["java", "-jar", "/app/b.jar"]

編寫docker-compose.yml

version: '3.8'

services:
  service-a:
    build: ./a  # 指向服務(wù)A的Dockerfile目錄
    container_name: service-a
    ports:
      - "8080:8080"  # 假設(shè)服務(wù)A暴露8080端口
    restart: unless-stopped

  service-b:
    build: ./b  # 指向服務(wù)B的Dockerfile目錄
    container_name: service-b
    ports:
      - "8081:8081"  # 假設(shè)服務(wù)B暴露8081端口
    restart: unless-stopped

操作步驟

  1. 構(gòu)建鏡像
    在項(xiàng)目根目錄執(zhí)行以下命令,構(gòu)建所有服務(wù)的Docker鏡像:

    docker-compose build
    
  2. 啟動(dòng)服務(wù)
    啟動(dòng)所有容器并運(yùn)行服務(wù):

    docker-compose up -d
    
  3. 驗(yàn)證服務(wù)
    檢查容器狀態(tài):

    docker-compose ps
    

    訪問(wèn)服務(wù)A的接口(如http://localhost:8080)和服務(wù)B的接口(如http://localhost:8081)。

注意事項(xiàng)

  • 端口沖突
    確保docker-compose.yml中定義的端口與本地或其他服務(wù)無(wú)沖突。

  • 環(huán)境變量
    如需動(dòng)態(tài)配置,可在docker-compose.yml中添加environment字段:

    service-a:
      environment:
        - SPRING_PROFILES_ACTIVE=prod
    
  • 日志查看
    調(diào)試時(shí)可通過(guò)以下命令查看實(shí)時(shí)日志:

    docker-compose logs -f service-a
    

生成Docker打包部署文件

項(xiàng)目結(jié)構(gòu)說(shuō)明

項(xiàng)目根目錄包含docker-compose.yml和兩個(gè)子目錄a/、b/,分別存放服務(wù)A和服務(wù)B的代碼及Docker配置。目標(biāo)是通過(guò)Docker Compose統(tǒng)一構(gòu)建和部署這兩個(gè)服務(wù)。

配置服務(wù)A的Dockerfile (a/Dockerfile)

# 使用官方Java基礎(chǔ)鏡像
FROM openjdk:17-jdk-slim

# 復(fù)制JAR文件到容器
COPY a.jar /app/a.jar

# 指定啟動(dòng)命令
ENTRYPOINT ["java", "-jar", "/app/a.jar"]

配置服務(wù)B的Dockerfile (b/Dockerfile)

# 使用官方Java基礎(chǔ)鏡像
FROM openjdk:17-jdk-slim

# 復(fù)制JAR文件到容器
COPY b.jar /app/b.jar

# 指定啟動(dòng)命令
ENTRYPOINT ["java", "-jar", "/app/b.jar"]

編寫docker-compose.yml

version: '3.8'

services:
  service-a:
    build: ./a  # 指向服務(wù)A的Dockerfile目錄
    container_name: service-a
    ports:
      - "8080:8080"  # 假設(shè)服務(wù)A暴露8080端口
    restart: unless-stopped

  service-b:
    build: ./b  # 指向服務(wù)B的Dockerfile目錄
    container_name: service-b
    ports:
      - "8081:8081"  # 假設(shè)服務(wù)B暴露8081端口
    restart: unless-stopped

操作步驟

  1. 構(gòu)建鏡像
    在項(xiàng)目根目錄執(zhí)行以下命令,構(gòu)建所有服務(wù)的Docker鏡像:

    docker-compose build
    
  2. 啟動(dòng)服務(wù)
    啟動(dòng)所有容器并運(yùn)行服務(wù):

    docker-compose up -d
    
  3. 驗(yàn)證服務(wù)
    檢查容器狀態(tài):

    docker-compose ps
    

    訪問(wèn)服務(wù)A的接口(如http://localhost:8080)和服務(wù)B的接口(如http://localhost:8081)。

注意事項(xiàng)

  • 端口沖突
    確保docker-compose.yml中定義的端口與本地或其他服務(wù)無(wú)沖突。

  • 環(huán)境變量
    如需動(dòng)態(tài)配置,可在docker-compose.yml中添加environment字段:

    service-a:
      environment:
        - SPRING_PROFILES_ACTIVE=prod
    
  • 日志查看
    調(diào)試時(shí)可通過(guò)以下命令查看實(shí)時(shí)日志:

    docker-compose logs -f service-a
    

總結(jié) 

到此這篇關(guān)于docker編寫java的jar的文章就介紹到這了,更多相關(guān)docker編寫java的jar內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot整合quartz實(shí)現(xiàn)定時(shí)任務(wù)示例

    springboot整合quartz實(shí)現(xiàn)定時(shí)任務(wù)示例

    spring支持多種定時(shí)任務(wù)的實(shí)現(xiàn)。我們來(lái)介紹下使用spring的定時(shí)器和使用quartz定時(shí)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • springboot驗(yàn)證碼生成以及驗(yàn)證功能舉例詳解

    springboot驗(yàn)證碼生成以及驗(yàn)證功能舉例詳解

    登錄注冊(cè)是大部分系統(tǒng)需要實(shí)現(xiàn)的基本功能,同時(shí)也會(huì)對(duì)登錄驗(yàn)證增加需求,下面這篇文章主要給大家介紹了關(guān)于springboot驗(yàn)證碼生成以及驗(yàn)證功能的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • 詳解如何實(shí)現(xiàn)nacos的配置的熱更新

    詳解如何實(shí)現(xiàn)nacos的配置的熱更新

    這篇文章主要為大家詳細(xì)介紹了如何實(shí)現(xiàn)nacos的配置的熱更新,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • 為何HashSet中使用PRESENT而不是null作為value

    為何HashSet中使用PRESENT而不是null作為value

    這篇文章主要介紹了為何HashSet中使用PRESENT而不是null作為value,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • JAVA熔斷和降級(jí)真實(shí)關(guān)系的圖文詳解

    JAVA熔斷和降級(jí)真實(shí)關(guān)系的圖文詳解

    這篇文章主要介紹了Java熔斷和降級(jí)的關(guān)系,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • mybatis的使用-Mapper文件各種語(yǔ)法介紹

    mybatis的使用-Mapper文件各種語(yǔ)法介紹

    這篇文章主要介紹了mybatis的使用-Mapper文件各種語(yǔ)法介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Java map 優(yōu)雅的元素遍歷方式說(shuō)明

    Java map 優(yōu)雅的元素遍歷方式說(shuō)明

    這篇文章主要介紹了Java map 優(yōu)雅的元素遍歷方式說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • 詳解如何使用java實(shí)現(xiàn)Open Addressing

    詳解如何使用java實(shí)現(xiàn)Open Addressing

    這篇文章主要介紹了詳解如何使用java實(shí)現(xiàn)Open Addressing,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • SpringAI?Agent開發(fā)秘籍如何讓javaer也可以用上Agent?Skills

    SpringAI?Agent開發(fā)秘籍如何讓javaer也可以用上Agent?Skills

    文章介紹了如何使用SpringA和Skills構(gòu)建一個(gè)代碼評(píng)審應(yīng)用,通過(guò)實(shí)戰(zhàn)示例展示如何利用SpringAI和大模型實(shí)現(xiàn)零配置的代碼評(píng)審功能,感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • Java Kafka消費(fèi)者實(shí)現(xiàn)過(guò)程

    Java Kafka消費(fèi)者實(shí)現(xiàn)過(guò)程

    Kafka消費(fèi)者通過(guò)KafkaConsumer類實(shí)現(xiàn),核心機(jī)制包括偏移量管理、消費(fèi)者組協(xié)調(diào)、批量拉取消息及多線程處理,手動(dòng)提交offset確保數(shù)據(jù)可靠性,自動(dòng)提交則依賴框架,本文給大家介紹Java Kafka消費(fèi)者實(shí)現(xiàn)過(guò)程,感興趣的朋友一起看看吧
    2025-08-08

最新評(píng)論

田阳县| 唐河县| 眉山市| 新晃| 曲阜市| 明星| 东丽区| 武安市| 浦东新区| 陈巴尔虎旗| 太和县| 黄骅市| 墨江| 扶沟县| 榆树市| 乐山市| 新晃| 本溪| 锡林浩特市| 长葛市| 蕉岭县| 平塘县| 昭觉县| 焦作市| 五大连池市| 阿勒泰市| 浪卡子县| 都江堰市| 武冈市| 龙山县| 防城港市| 万源市| 淮安市| 新晃| 赤峰市| 福清市| 科尔| 东港市| 泰安市| 绥棱县| 黄冈市|