Как передать переменные окружения?

При работе с Docker, у вас есть несколько способов передачи переменных окружения в контейнеры. Рассмотрим наиболее распространенные подходы:

1. ENV директива в Dockerfile:
Вы можете определить переменные окружения с помощью директивы ENV в Dockerfile. Например:

   ENV MY_VAR=my_value

Затем, внутри контейнера, вы сможете использовать эту переменную окружения.

2. Передача переменных окружения через команду docker run:
Вы можете передать переменные окружения при запуске контейнера, используя флаг -e или --env. Например:

   docker run -e MY_VAR=my_value my_image

В этом случае переменная окружения будет доступна внутри контейнера.

Также вы можете использовать файл со значениями переменных окружения и передать его с помощью флага --env-file. Например:

   docker run --env-file=my_env_file my_image

Файл с переменными окружения должен содержать ключ=значение пары на каждой строке.

3. Использование Docker Compose:
Если вы используете Docker Compose для управления несколькими контейнерами, вы можете определить переменные окружения в файле docker-compose.yml. Например:

   services:
     my_service:
       environment:
         - MY_VAR=my_value

Переменные окружения будут доступны в контейнере, как и в предыдущих случаях.

4. Использование параметров приложения:
Некоторые приложения могут принимать параметры для установки переменных окружения. Например, при запуске контейнера с использованием docker run можно указать параметр, передавая его после названия контейнера или образа:

   docker run my_image --env=value

Контейнер будет запущен с переменной окружения, устанавливаемой приложением внутри контейнера.

Примечание: Когда вы передаете переменные окружения в контейнер, убедитесь, что значения, содержащие конфиденциальную информацию, такую как пароли или секреты, передаются безопасным способом, например, с использованием файлов с переменными окружения, зашифрованных и/или защищенных паролем.