Пробросить переменные окружение в контейнер на этапе запуска

Есть Dockerfile

FROM ubuntu:18.04 AS BUILD

RUN apt-get update && apt-get -y upgrade && apt-get install -y make python3.7 python3-pip git
RUN python3.7 -m pip install --upgrade pip

COPY . /app
WORKDIR /app

ENV PIP_CONFIG_FILE .deploy/.secrets/pip.conf
RUN echo ${VAULT_ENV}

RUN PIP=pip PYTHON=python3.7 make deps
CMD PYTHON=python3.7 VAULT_ENV=${VAULT_ENV} make run

Я хочу прокинуть в него переменную VAULT_ENV на этапе запуска. Т.е. мне важно, чтобы в тот момент, когда я делаю

docker run -e "VAULT_ENV=LOCAL" my-container

Мои переменные подсосались бы внутри контейнера. Мне требуется это для того, чтобы я мог один и тот же контейнер деплоить на разные среды.

Хотелось бы это научиться делать через docker-compose, в том числе. Т.е. мне хочется, чтобы было что-то в духе:

version: '2'
services:
     service:
        environment:
            - VAULT_ENV=LOCAL
        build:
            context: ..
            dockerfile: .deploy/Dockerfile
        ports:
            - "6000:6000"
        volumes:
            - ..:/app
        network_mode: host

Т.е. хочется, чтобы в блоке environment я бы мог задавать переменную (либо другой блок).


Ответы (0 шт):