Dockerfile中通过ENV指定动态参数在RUN时传递参数(部署后台jar包时指定端口为例)
生活随笔
收集整理的這篇文章主要介紹了
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
然后訪問端口服務進行測試
?
總結
以上是生活随笔為你收集整理的Dockerfile中通过ENV指定动态参数在RUN时传递参数(部署后台jar包时指定端口为例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot打成jar包cmd中
- 下一篇: Docker中使用Dockerfile定