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

