Docker單個(gè)容器運(yùn)行多個(gè)war和jar的方法詳解
方法一:
#基礎(chǔ)鏡像 FROM java:8 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone #把你的項(xiàng)目war包引入到容器的root目錄下 COPY *.war /app.war RUN echo \ "#!/bin/sh\n"\ "nohup java -jar /app.war --server.port=8085 &\n"\ "nohup java -jar /app.war --server.port=8086 &"\ >> /start.sh RUN chmod +x /start.sh CMD nohup sh -c "/start.sh && java -jar /app.war --server.port=8087"
方法二:
#基礎(chǔ)鏡像 FROM java:8 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo 'Asia/Shanghai' >/etc/timezone #把你的項(xiàng)目war包引入到容器的root目錄下 COPY *.war /app.war COPY start.sh /start.sh RUN chmod +x /start.sh #項(xiàng)目的啟動(dòng)方式 ENTRYPOINT ["./start.sh"]
start.sh
#!/bin/bash
# 命令后加入 & ,保持程序后臺持續(xù)運(yùn)行
nohup java -jar /app.war --server.port=8085 &
nohup java -jar /app.war --server.port=8086 &
# 死循環(huán),保持docker前臺運(yùn)行
while [[ true ]]; do
sleep 1
done
或者(推薦下面的寫法,上面的while寫法可能會(huì)有性能損耗,待驗(yàn)證)
#!/bin/bash # 命令后加入 & ,保持程序后臺持續(xù)運(yùn)行 nohup java -jar /app.war --server.port=8085 & java -jar /app.war --server.port=8086
docker-compose.yml
version: '3.8'
services:
demo-dk:
image: demo-dk:1.0
build:
context: .
dockerfile: Dockerfile
ports:
- "8085:8085"
- "8086:8086"
- "8087:8087"
logging:
driver: 'json-file'
options:
max-size: '30m'
max-file: '5' shell.sh
docker-compose down && docker rmi -f demo-dk:1.0 && docker-compose up -d --build
測試時(shí)將war、Dockerfile、shell.sh、start.sh 放在同一目錄下,執(zhí)行
sh shell.sh
到此這篇關(guān)于Docker單個(gè)容器運(yùn)行多個(gè)war和jar的方法詳解的文章就介紹到這了,更多相關(guān)Docker容器運(yùn)行多個(gè)war和jar內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用dockercompose搭建springboot-mysql-nginx應(yīng)用
這篇文章主要介紹了使用dockercompose搭建springboot-mysql-nginx應(yīng)用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03
docker 部署 Elasticsearch kibana及ik分詞器詳解
這篇文章主要介紹了docker 部署 Elasticsearch kibana及ik分詞器詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05
Docker容器化部署嘗試——多容器通信(node+mongoDB+nginx)
這篇文章主要介紹了Docker容器化部署嘗試——多容器通信(node+mongoDB+nginx),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12
docker commit與export區(qū)別小結(jié)
本文主要介紹了docker commit與export區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-12-12
Docker部署RabbitMQ的實(shí)現(xiàn)方法(圖文并茂)
本文詳細(xì)介紹了如何使用Docker部署RabbitMQ的步驟,包括拉取RabbitMQ鏡像,創(chuàng)建與授權(quán)文件夾,創(chuàng)建RabbitMQ容器,查看啟動(dòng)日志,訪問控制臺和登錄等,全程詳細(xì)的參數(shù)解釋和操作步驟,讓Docker部署RabbitMQ變得簡單易行2024-10-10
docker?registry刪除遠(yuǎn)程倉庫鏡像實(shí)現(xiàn)方式
文章介紹如何清理Docker?Registry中堆積的鏡像,通過配置刪除功能、啟動(dòng)容器、查看鏡像信息并執(zhí)行刪除操作,同時(shí)提供基于web-ui的管理方案,優(yōu)化存儲空間使用2025-09-09

