Пробросить переменные окружение в контейнер на этапе запуска
Есть 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 я бы мог задавать переменную (либо другой блок).