欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

all-docker/

├── docker-compose.yml

├── a/

│ ├── Dockerfile

│ └── a.jar

└── b/

├── Dockerfile

└── b.jar

生成Docker打包部署文件

項目結(jié)構(gòu)說明

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

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

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

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

# 指定啟動命令
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

# 指定啟動命令
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)建鏡像
    在項目根目錄執(zhí)行以下命令,構(gòu)建所有服務(wù)的Docker鏡像:

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

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

    docker-compose ps
    

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

注意事項

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

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

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

    docker-compose logs -f service-a
    

生成Docker打包部署文件

項目結(jié)構(gòu)說明

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

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

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

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

# 指定啟動命令
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

# 指定啟動命令
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)建鏡像
    在項目根目錄執(zhí)行以下命令,構(gòu)建所有服務(wù)的Docker鏡像:

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

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

    docker-compose ps
    

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

注意事項

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

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

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

    docker-compose logs -f service-a
    

總結(jié) 

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

相關(guān)文章

  • Spring中容器的創(chuàng)建流程詳細解讀

    Spring中容器的創(chuàng)建流程詳細解讀

    這篇文章主要介紹了Spring中容器的創(chuàng)建流程詳細解讀,Spring?框架其本質(zhì)是作為一個容器,提供給應(yīng)用程序需要的對象,了解容器的誕生過程,有助于我們理解?Spring?框架,也便于我們“插手”這個過程,需要的朋友可以參考下
    2023-10-10
  • Java?8中讀取文件內(nèi)容?Files.lines()方法使用示例

    Java?8中讀取文件內(nèi)容?Files.lines()方法使用示例

    這篇文章主要介紹了Java?8中讀取文件內(nèi)容Files.lines()方法如何使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • SpringBoot分頁查詢功能的實現(xiàn)方法

    SpringBoot分頁查詢功能的實現(xiàn)方法

    在實際的項目開發(fā)過程中,分頁顯示是很常見的頁面布局,所以學(xué)習(xí)如何實現(xiàn)分頁也是必要的,下面這篇文章主要給大家介紹了關(guān)于SpringBoot分頁查詢功能的實現(xiàn)方法,需要的朋友可以參考下
    2022-06-06
  • Java匿名內(nèi)部類的寫法示例

    Java匿名內(nèi)部類的寫法示例

    這篇文章主要給大家介紹了關(guān)于Java匿名內(nèi)部類的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Spring中的@ConfigurationProperties詳解

    Spring中的@ConfigurationProperties詳解

    這篇文章主要介紹了Spring中的@ConfigurationProperties詳解,ConfigurationProperties注解主要用于將外部配置文件配置的屬性填充到這個Spring Bean實例中,需要的朋友可以參考下
    2023-09-09
  • maven實現(xiàn)jar包導(dǎo)入+導(dǎo)出方式

    maven實現(xiàn)jar包導(dǎo)入+導(dǎo)出方式

    這篇文章主要介紹了maven實現(xiàn)jar包導(dǎo)入+導(dǎo)出方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 簡單了解Java關(guān)鍵字throw和throws的區(qū)別

    簡單了解Java關(guān)鍵字throw和throws的區(qū)別

    這篇文章主要介紹了簡單了解Java關(guān)鍵字throw和throws的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • SpringBoot攔截器以及源碼詳析

    SpringBoot攔截器以及源碼詳析

    攔截器在我們平時的項目中用處有很多,如:日志記錄(我們后續(xù)章節(jié)會講到)、用戶登錄狀態(tài)攔截、安全攔截等等,所以下面這篇文章主要給大家介紹了關(guān)于SpringBoot攔截器以及源碼的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • 反射機制:getDeclaredField和getField的區(qū)別說明

    反射機制:getDeclaredField和getField的區(qū)別說明

    這篇文章主要介紹了反射機制:getDeclaredField和getField的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • SpringBoot前后端分離項目之打包、部署到服務(wù)器詳細圖文流程

    SpringBoot前后端分離項目之打包、部署到服務(wù)器詳細圖文流程

    作為后臺開發(fā),項目打包部署是經(jīng)常性的操作,下面這篇文章主要給大家介紹了關(guān)于SpringBoot前后端分離項目之打包、部署到服務(wù)器的相關(guān)資料,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-12-12

最新評論