Как передать переменную в контейнер docker и затем использовать ее?

Для передачи переменной в контейнер Docker и ее использования внутри контейнера есть несколько способов.

1. Использование аргументов командной строки:
Переменную можно передать в контейнер, добавив ее в команду запуска контейнера через аргумент командной строки. Например:

   docker run -e VARIABLE_NAME=value image_name

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

2. Использование файла с переменными (dotenv):
Существует практика использования файла с переменными окружения, так называемого файла ".env" или ".env файл". В этом файле можно задавать переменные и их значения, и затем передавать значения переменных в контейнер при его запуске. Пример:
Создайте файл .env, содержащий:

   VARIABLE_NAME=value

Затем при запуске контейнера используйте флаг --env-file для передачи файла с переменными в контейнер:

   docker run --env-file .env image_name

Используйте переменную внутри контейнера так же, как и в предыдущем способе.

3. Использование Docker Compose:
Если вы используете Docker Compose для управления вашими контейнерами, то передача переменных в контейнеры становится более удобной. В файле docker-compose.yml можно задать переменные окружения для каждого сервиса, и они будут автоматически переданы в контейнеры при их запуске. Пример:
Добавьте в ваш файл docker-compose.yml следующую секцию:

   services:
     web:
       ...
       environment:
         VARIABLE_NAME: value
       ...

После этого переменная VARIABLE_NAME будет доступна внутри контейнера и ее можно использовать как и в предыдущих способах.

Это только несколько основных способов передачи переменных в контейнер Docker. В реальном мире существуют и другие, более сложные методы, которые могут быть полезны для конкретных ситуаций или требований.