docker編寫java的jar完整步驟記錄
all-docker/
├── docker-compose.yml
├── a/
│ ├── Dockerfile
│ └── a.jar
└── b/
├── Dockerfile
└── b.jar
生成Docker打包部署文件
項目結構說明
項目根目錄包含docker-compose.yml和兩個子目錄a/、b/,分別存放服務A和服務B的代碼及Docker配置。目標是通過Docker Compose統(tǒng)一構建和部署這兩個服務。
配置服務A的Dockerfile (a/Dockerfile)
# 使用官方Java基礎鏡像 FROM openjdk:17-jdk-slim # 復制JAR文件到容器 COPY a.jar /app/a.jar # 指定啟動命令 ENTRYPOINT ["java", "-jar", "/app/a.jar"]
配置服務B的Dockerfile (b/Dockerfile)
# 使用官方Java基礎鏡像 FROM openjdk:17-jdk-slim # 復制JAR文件到容器 COPY b.jar /app/b.jar # 指定啟動命令 ENTRYPOINT ["java", "-jar", "/app/b.jar"]
編寫docker-compose.yml
version: '3.8'
services:
service-a:
build: ./a # 指向服務A的Dockerfile目錄
container_name: service-a
ports:
- "8080:8080" # 假設服務A暴露8080端口
restart: unless-stopped
service-b:
build: ./b # 指向服務B的Dockerfile目錄
container_name: service-b
ports:
- "8081:8081" # 假設服務B暴露8081端口
restart: unless-stopped
操作步驟
構建鏡像
在項目根目錄執(zhí)行以下命令,構建所有服務的Docker鏡像:docker-compose build
啟動服務
啟動所有容器并運行服務:docker-compose up -d
驗證服務
檢查容器狀態(tài):docker-compose ps
訪問服務A的接口(如
http://localhost:8080)和服務B的接口(如http://localhost:8081)。
注意事項
端口沖突
確保docker-compose.yml中定義的端口與本地或其他服務無沖突。環(huán)境變量
如需動態(tài)配置,可在docker-compose.yml中添加environment字段:service-a: environment: - SPRING_PROFILES_ACTIVE=prod日志查看
調試時可通過以下命令查看實時日志:docker-compose logs -f service-a
生成Docker打包部署文件
項目結構說明
項目根目錄包含docker-compose.yml和兩個子目錄a/、b/,分別存放服務A和服務B的代碼及Docker配置。目標是通過Docker Compose統(tǒng)一構建和部署這兩個服務。
配置服務A的Dockerfile (a/Dockerfile)
# 使用官方Java基礎鏡像 FROM openjdk:17-jdk-slim # 復制JAR文件到容器 COPY a.jar /app/a.jar # 指定啟動命令 ENTRYPOINT ["java", "-jar", "/app/a.jar"]
配置服務B的Dockerfile (b/Dockerfile)
# 使用官方Java基礎鏡像 FROM openjdk:17-jdk-slim # 復制JAR文件到容器 COPY b.jar /app/b.jar # 指定啟動命令 ENTRYPOINT ["java", "-jar", "/app/b.jar"]
編寫docker-compose.yml
version: '3.8'
services:
service-a:
build: ./a # 指向服務A的Dockerfile目錄
container_name: service-a
ports:
- "8080:8080" # 假設服務A暴露8080端口
restart: unless-stopped
service-b:
build: ./b # 指向服務B的Dockerfile目錄
container_name: service-b
ports:
- "8081:8081" # 假設服務B暴露8081端口
restart: unless-stopped
操作步驟
構建鏡像
在項目根目錄執(zhí)行以下命令,構建所有服務的Docker鏡像:docker-compose build
啟動服務
啟動所有容器并運行服務:docker-compose up -d
驗證服務
檢查容器狀態(tài):docker-compose ps
訪問服務A的接口(如
http://localhost:8080)和服務B的接口(如http://localhost:8081)。
注意事項
端口沖突
確保docker-compose.yml中定義的端口與本地或其他服務無沖突。環(huán)境變量
如需動態(tài)配置,可在docker-compose.yml中添加environment字段:service-a: environment: - SPRING_PROFILES_ACTIVE=prod日志查看
調試時可通過以下命令查看實時日志:docker-compose logs -f service-a
總結
到此這篇關于docker編寫java的jar的文章就介紹到這了,更多相關docker編寫java的jar內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java?8中讀取文件內容?Files.lines()方法使用示例
這篇文章主要介紹了Java?8中讀取文件內容Files.lines()方法如何使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07
Spring中的@ConfigurationProperties詳解
這篇文章主要介紹了Spring中的@ConfigurationProperties詳解,ConfigurationProperties注解主要用于將外部配置文件配置的屬性填充到這個Spring Bean實例中,需要的朋友可以參考下2023-09-09
簡單了解Java關鍵字throw和throws的區(qū)別
這篇文章主要介紹了簡單了解Java關鍵字throw和throws的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11
反射機制:getDeclaredField和getField的區(qū)別說明
這篇文章主要介紹了反射機制:getDeclaredField和getField的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
SpringBoot前后端分離項目之打包、部署到服務器詳細圖文流程
作為后臺開發(fā),項目打包部署是經常性的操作,下面這篇文章主要給大家介紹了關于SpringBoot前后端分離項目之打包、部署到服務器的相關資料,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下2023-12-12

