Основы переменных окружения Docker
Понимание переменных окружения Docker
Переменные окружения Docker — это критически важные механизмы конфигурации, которые позволяют динамически настраивать параметры контейнеров во время выполнения. Они предоставляют гибкий способ внедрения конфигурации и управления поведением контейнера без изменения образа контейнера.
graph LR
A[Образ Docker] --> B[Переменные окружения]
B --> C[Конфигурация контейнера во время выполнения]
Основные типы переменных окружения
| Тип |
Описание |
Пример |
| Статические переменные |
Определены на этапе сборки образа |
ENV DATABASE_HOST=localhost |
| Переменные во время выполнения |
Вводятся при запуске контейнера |
docker run -e DB_PASSWORD=secret |
| Переменные по умолчанию |
Установлены в Dockerfile |
ENV APP_PORT=8080 |
Методы конфигурации
Разработчики могут определять переменные окружения Docker несколькими способами:
- Конфигурация в Dockerfile
FROM ubuntu:22.04
ENV APP_NAME=myservice
ENV DEBUG_MODE=false
- Ввод с помощью командной строки
docker run -e DATABASE_URL=postgres://user:pass@localhost/db myimage
- Файлы окружения
docker run --env-file ./config.env myimage
Пример конфигурации во время выполнения
## Создайте файл конфигурации окружения
echo "DB_HOST=database.example.com" > app.env
echo "LOG_LEVEL=debug" >> app.env
## Запустите контейнер с файлом окружения
docker run --env-file app.env ubuntu:22.04
Этот подход демонстрирует, как переменные окружения Docker обеспечивают гибкую, безопасную и динамическую конфигурацию контейнеров без жесткой кодировки конфиденциальной информации непосредственно в образы.