这工作:使用泊坞窗环境变量命令
$ 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