[英]How to specify which env_file is used in docker-compose via command line
[英]docker-compose env_file available in script but not directy in run command
這是我的設置:
泊塢窗,compose.yml:
php:
container_name: php
image: pawlik/kinetic-php:5.5
env_file:
- .env.defaults
.env.defaults:
STORE_URL_SECURE=https://kinetic.docker.dev/
在運行的圖像中,我有一個簡單的腳本:
showvars.sh
echo $STORE_URL_SECURE
現在正在運行:
$ docker-compose run php bash showvars.sh
Starting data
https://kinetic.docker.dev/
看起來不錯,但是
$ docker-compose run php echo $STORE_URL_SECURE
Starting data
# empty!
有什么區別? 為什么在第二個示例中,此ENV變量為空?
docker-compose run php echo $STORE_URL_SECURE
意味着執行docker-compose run php echo $STORE_URL_SECURE
-compose命令的shell還會解釋$STORE_URL_SECURE
(在該shell會話中未定義或設置)。
因此# empty!
。
但是,這將起作用:
docker-compose run php /bin/sh -c 'echo $STORE_URL_SECURE'
(使用強引號或簡單引號阻止外殼程序立即解釋$STORE_URL_SECURE
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.