Настройки приложению в контейнере чаще всего передают переменными окружения.
Главный процесс получает переменные окружения от Docker. Часть задана в образе — например, PATH. Свои добавляет ключ -e ИМЯ=значение в docker run, по одному -e на переменную. Так настраивают многие готовые образы: режим работы, адрес базы, имя пользователя.
Что получил процесс, видно двумя способами. docker exec <имя> env печатает окружение внутри работающего контейнера. docker inspect <имя> печатает полное описание контейнера в формате JSON, а ключ --format выбирает из него поле — здесь список переменных:
Окружение, как и порты, задаётся при создании: у готового контейнера его не поменять, только пересоздать контейнер с нужными -e.
На сервере работает контейнер worker из образа worker:1 — учебное приложение, которое раз в 5 секунд проверяет очередь задач. Режим работы оно берёт из переменной APP_MODE и пишет его в журнал.
Переведи worker в режим prod
Посмотри журнал и окружение контейнера worker, потом переведи приложение в режим prod: в журнале worker должна появиться строка с mode=prod. Образ — worker:1, имя контейнера — прежнее.
Цели · 0 из 2
- Передать приложению режим prod ещё не выполнена
- Оставить worker работающим из образа worker:1 ещё не выполнена