Docker如何在构建期间在Dockerfile中使用env_file变量

时间:2018-01-17 22:04:55

标签: docker-compose dockerfile

我想在STAGE中使用env_file中的Dockerfile变量。大多数帖子建议只使用-edocker-compose up命令,但我想通过env_file实现这一目标。

我尝试添加args,但它无效。

环境文件

STAGE=DEV

搬运工-compose.yml

version: '2'

services:
  web:
    build: .
    env_file:
      - /etc/web.env
    command: python3 manage.py runserver 0.0.0.0:8000
    volumes:
      - ./backend:/code
    ports:
      - "8000:8000"

Dockerfile

FROM python:3.6
ENV PYTHONUNBUFFERED 1
(...)
RUN pip install -r project/requirements/$STAGE.txt

结果应为:

RUN pip install -r project/requirements/DEV.txt

我发现在构建期间不可能,但可能存在一些方法来执行此操作。我将为任何提示提供帮助。

1 个答案:

答案 0 :(得分:1)

您可以通过在docker compose yaml文件中添加mirror.renderOrder = Infinity; 选项将环境变量映射到容器中:

environment