Как установить переменную окружения в Docker?

Доброго времени суток!
В файле secret.py генерируется и выводится на экран некая последовательность символов
def gen_secret():
    return "some secret"
print(gen_secret())

Также есть файл set_secret.sh, который устанавливает переменную окружения SECRET
#!/bin/sh
export SECRET=$(python util/secret.py)
echo $SECRET


Далее в приложении на python я использую значение переменной SECRET. В качестве базового образа использую python:3.6.3-onbuild
Возможно ли в Dockerfile прописать что-то вроде source set_secret.sh чтобы при старте контейнера выполнился код в gen_secret() и установилась переменная окружения?
  • Вопрос задан
  • 4231 просмотр
Пригласить эксперта
Ответы на вопрос 2
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
1 вариант:
docker-compose.yml:
...   
         env_file: .env

или
...
       environment:
           - SECRET=value


.env:
SECRET=value

2 вариант
docker run --env SECRET=value ...
или
docker run --env-file .env ...
Ответ написан
Комментировать
@santaatnas
Java, Python, Php
1) Можно прям в файле docker-compose.yml добавить в ваш контейнер
environment:
SECRET : VALUE
2) Или в dockerfile прописать ваш bash-скрипт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы