簡體   English   中英

docker-compose env_file在腳本中可用,但在運行命令中不直接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM