Dockerfile中通過ENV指定動態參數在RUN時傳遞參數(部署后台jar包時指定端口為例)


場景

CentOS7中使用Dockerfile部署后台jar包:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119818808

在上面使用Dockerfile部署SpringBoot打成的jar包的基礎上,怎樣做到傳遞

動態參數,比如在運行時才指定項目的端口號,或者說在運行時再指定連接

mysql的地址。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

Dockerfile的ENV指令

ENV指令用來在鏡像構建過程中設置環境變量,后續的RUN可以使用它所創建的環境變量

首先更改Dockerfile的內容為

FROM openjdk:8-jdk-alpine
MAINTAINER "badaodechengxvyuan"
LABEL description="公眾號-霸道的程序猿"
WORKDIR app
ADD badao.jar /app/badao.jar
ENV badao_port ${badao_port}
EXPOSE ${badao_port}
CMD java -jar /app/badao.jar --server.port=${badao_port}

這里通過ENV聲明一個環境變量badao_port,並且通過${badao_port}引用環境變量

然后再運行jar包時指定啟動后的項目端口就是上面聲明的環境變量

然后重新構建鏡像

docker build -t badaoimagewithparam .

 

構建成功后運行並通過-e傳遞參數

docker run -d -p 7070:7070 -e badao_port="7070" badaoimagewithparam

這里給其傳遞參數設置其端口號為7070

然后訪問端口服務進行測試

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM