啟動docker的時候如何把參數(shù)傳遞給docker里面的項目(推薦)
很多時候我們要把自己本地的項目打成一個docker鏡像
大部分都是Tomcat或者現(xiàn)在很流行的springboot項目
如果只是帶參數(shù)運行一個springboot項目是很簡單的,如下
java -Dserver.port=8080 -jar xxx.jar
以上命令就把端口號設(shè)置為8080啟動jar包,無需去改jar包里面的配置文件
但是如果已經(jīng)把這個jar包打成了鏡像之后,怎么傳遞呢
看下docker run的參數(shù)選項,里面有一個-e,環(huán)境變量
一開始被"環(huán)境"兩個字誤導(dǎo)了,以為就跟我們裝JDK的時候說的環(huán)境變量是一個意思
其實也可以用來傳遞普通變量,如下
1,springboot項目
先改Dockerfile:
FROM java:8 ADD microsoft.jar /root ENV PARAMS="" ENTRYPOINT ["sh","-c","java $PARAMS -jar /root/microsoft.jar"]
構(gòu)建鏡像命令:
docker build -t 鏡像名稱 .
啟動命令:
docker run -d -e PARAMS="-Dserver.port=8080" -p 2000:8080 鏡像名稱
這樣jar包在啟動的時候就會去讀輸入變量
2,Tomcat項目
Dockerfile:
#基本鏡像
FROM centos
#把你上傳的jdk放到docker容器里面的root目錄下
ADD jdk-8u11-linux-x64.tar.gz /root
#把你上傳的Tomcat放到docker容器里面的root目錄下
ADD apache-tomcat-7.0.57.tar.gz /root
#設(shè)置環(huán)境變量
ENV JAVA_HOME /root/jdk1.8.0_11
#設(shè)置環(huán)境變量
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#設(shè)置環(huán)境變量
ENV CATALINA_HOME /root/apache-tomcat-7.0.57
#設(shè)置環(huán)境變量
ENV CATALINA_BASE /root/apache-tomcat-7.0.57
#設(shè)置環(huán)境變量
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
ENV PARAMS=""
#執(zhí)行startup.sh并打開日志
ENTRYPOINT echo $PARAMS > /root/params.txt && /root/apache-tomcat-7.0.57/getParams.sh && /root/apache-tomcat-7.0.57/bin/startup.sh && tail -F /root/apache-tomcat-7.0.57/logs/catalina.out/root/params.txt 存放參數(shù)的TXT文件
getParams.sh 讀取參數(shù)的腳本
startup.sh 讀完參數(shù)啟動Tomcat
啟動命令:
docker run -d -e PARAMS="user=root&pwd=lw123" -p 2000:8080 params
這樣Tomcat在啟動之前就會先去處理你傳遞的參數(shù),怎么處理就根據(jù)實際的業(yè)務(wù)來處理
到此這篇關(guān)于啟動docker的時候怎么把參數(shù)傳遞給docker里面的項目的文章就介紹到這了,更多相關(guān)啟動docker傳遞參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker?數(shù)據(jù)目錄遷移的實現(xiàn)步驟
本文詳細記錄了將Docker數(shù)據(jù)目錄從/var/lib/docker遷移到更大容量的分區(qū)的全過程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-12-12
詳解從 0 開始使用 Docker 快速搭建 Hadoop 集群環(huán)境
這篇文章主要介紹了詳解從 0 開始使用 Docker 快速搭建 Hadoop 集群環(huán)境,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03
Linux上使用docker啟動redis并遠程訪問的實現(xiàn)
這篇文章主要介紹了Linux上使用docker啟動redis并遠程訪問的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
docker?運行花生殼實現(xiàn)內(nèi)外網(wǎng)穿透的詳細過程
這篇文章主要介紹了docker?運行花生殼實現(xiàn)內(nèi)外網(wǎng)穿透,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03

