如何从docker compose内部访问Bash中导出的环境变量?
我基本上是在尝试
this answer
但我不想定义
.env
文件
我只想打个电话,比如:
export TEST_NAME=test_widget_abc
docker-compose -f docker-compose.yml -p myproject up --build --exit-code-from myproject_1
并通过
TEST_NAME
到我的Dockerfile中的命令,它运行一个单元测试套件,如:
ENV TEST_NAME ${TEST_NAME}
CMD python manage.py test $TEST_NAME
我的目标是允许运行我的docker容器来执行特定的unittest,而不必重建整个映像,只需在容器运行时从shell中提取测试名称即可。否则,如果未给定测试名称,则该命令将运行所有测试。
据我所知,您可以在
.env
文件,然后在你的docker-compose.yml中引用它们,比如:
version: "3.6"
services:
app_test:
build:
args:
- TEST_NAME=$TEST_NAME
context: ..
dockerfile: Dockerfile
但这并不能从壳里拔出来。
你将如何与docker compose合作?