Py学习  »  docker

从docker compose访问shell环境变量?

Cerin • 1 年前 • 1092 次点击  

如何从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合作?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/159431
 
1092 次点击  
文章 [ 2 ]  |  最新文章 1 年前