docker run -e傳遞環(huán)境變量的過(guò)程
docker run -e傳遞環(huán)境變量
1. Dockerfile
FROM openjdk:8-jdk-alpine MAINTAINER fengqiangboy shenzhen <fengqiangboy@gmail.com> RUN mkdir -p /usr/local/proxy-server COPY startup.sh /usr/local/proxy-server RUN cd /usr/local/proxy-server && \ chmod +x startup.sh WORKDIR /usr/local/proxy-server # 設(shè)置環(huán)境變量 USERNAME 默認(rèn)值為 admin,后面可以通過(guò)docker run -e USERNAME="XXXXXX"修改,這個(gè)環(huán)境變量在容器里也可以$USERNAME獲取 ENV USERNAME admin RUN echo 'USERNAME=' $USERNAME # 打印一下默認(rèn)值 # 運(yùn)行 startup.sh腳本,$USERNAME傳遞參數(shù)到腳本中,不能用 CMD []這種形式,這種方式讀取不到變量 CMD sh startup.sh $USERNAME
2. startup.sh
#!/bin/bash MODULE=$1 # 定義變量為上面?zhèn)鞯?$USERNAME 第一個(gè)參數(shù) echo 'MODULE=' ${MODULE} # 打印
如果想替換參數(shù)使用命令
sed -i "s/<USERNAME>/$USERNAME/" config.properties
,必須用雙引號(hào),用單引號(hào)不能讀取變量
查看最終文件目錄
[root@wanfei test-docker]# ls Dockerfile startup.sh
3. 制作鏡像
[root@wanfei test-docker]# docker build -t www/test-docker .
4. 運(yùn)行鏡像
[root@wanfei test-docker]# docker run --name docker -e USERNAME="WANFEI" www/test-docker MODULE= WANFEI
打印成功
WANFEI
到此這篇關(guān)于docker run -e傳遞環(huán)境變量的文章就介紹到這了,更多相關(guān)docker run -e傳遞環(huán)境變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一次Docker中Redis連接暴增的問(wèn)題排查實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了一次Docker中Redis連接暴增的問(wèn)題排查的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06docker啟動(dòng)報(bào)錯(cuò)問(wèn)題OCI runtime create failed: c
這篇文章主要介紹了docker啟動(dòng)報(bào)錯(cuò)問(wèn)題OCI runtime create failed: container_linux.go:380: starting container process,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08更改Docker默認(rèn)數(shù)據(jù)目錄解決部署空間不足問(wèn)題
隨著使用 Docker 的時(shí)間增加,存儲(chǔ)在默認(rèn)數(shù)據(jù)目錄(通常是 /var/lib/docker)中的數(shù)據(jù)量也會(huì)不斷增大,最終可能導(dǎo)致服務(wù)器上的存儲(chǔ)空間不足,這篇文章將詳細(xì)介紹如何更改 Docker 的默認(rèn)數(shù)據(jù)目錄,以便在服務(wù)器上釋放存儲(chǔ)空間并優(yōu)化資源利用,需要的朋友可以參考下2024-06-06Docket Desktop安裝redis并設(shè)置密碼方式
在DockerDesktop中安裝Redis并設(shè)置密碼的步驟包括啟動(dòng)Docker、拉取Redis鏡像、創(chuàng)建并運(yùn)行Redis容器設(shè)置密碼、驗(yàn)證容器運(yùn)行、連接并驗(yàn)證密碼,以及可選的持久化數(shù)據(jù)設(shè)置2025-03-03Docker安裝Mosquitto的實(shí)現(xiàn)示例
mosquitto是一個(gè)常用的MQTT應(yīng)用服務(wù),本文主要介紹了Docker安裝Mosquitto的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05如何解決docker-compose網(wǎng)段路由沖突,docker-compose自定義網(wǎng)絡(luò)
這篇文章主要介紹了如何解決docker-compose網(wǎng)段路由沖突,docker-compose自定義網(wǎng)絡(luò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01