這工作:使用泊塢窗環境變量命令
$ docker-compose run web psql -U dbuser -h db something_development
我docker-compose.yml
文件有環境變量所有的地方。如果我運行docker-compose run web env
,我會在這些關閉命令(腳本和一次性shell)中看到各種美味的東西。
docker-compose run env
...
DATABASE_USER=dbuser
DATABASE_HOST=db
DATABASE_NAME=something_development
DB_ENV_POSTGRES_USER=dbuser
... many more
這是行不通的,因爲我目前的shell已經證明了這一點。
docker-compose run web psql -U ${DATABASE_USER} -h ${DATABASE_HOST} ${DATABASE_NAME}
``` PSQL:無法連接到服務器:沒有這樣的文件或目錄 是服務器本地運行和驗收Unix域套接字「/var/run/postgresql/.s.PGSQL 連接。 5432" ?這些環境變量來自像docker-compose.yml引用的.app.env
這樣的env文件,但是docker-compose本身可以設置環境變量。當他們在那裏時甚至輸入dbuser
似乎是一種恥辱。我嘗試了我的正常逃跑技巧。
docker-compose run web psql -U \$\{DATABASE_USER\} -h \$\{DATABASE_HOST\} \$\{DATABASE_NAME\}
... many other attempts
我完全橡膠鴨子所以我要回答我自己的問題。
這是從主機傳遞一個env。我想要一種重用KEYSTORE_PASSWORD的方法:「ooooo」。看到我的答案,但謝謝! :) – squarism
只是更新的答案 - 希望這對你有用:)只在我的例子中的一個地方使用它,但可以用於許多 – danday74
嗯,這是方便的,無論。這是另一個靈活性選項。謝謝。 – squarism