Как использовать один env файл с docker-compose?

Для того чтобы использовать один env файл с docker-compose, необходимо выполнить несколько шагов.

1. Создайте файл .env в той же директории, где находится ваш docker-compose.yml файл.
В этом файле вы можете определить все переменные окружения, которые хотите использовать в вашем docker-compose файле.
Пример .env файла:

VARIABLE1=value1
VARIABLE2=value2
...

2. В вашем docker-compose.yml файле, добавьте секцию env_file. Укажите путь к вашему .env файлу в значении этой секции.
Пример:

version: '3'
services:
web:
image: nginx
env_file:
- ./.env

В этом примере, .env файл находится в той же директории, что и docker-compose.yml файл.

3. Теперь, внутри ваших сервисов, вы можете использовать переменные окружения из вашего .env файла, также как и обычные переменные окружения.
Примеры использования переменных окружения:

version: '3'
services:
web:
image: nginx
env_file:
- ./.env
environment:
- VARIABLE1=${VARIABLE1}
- VARIABLE2=${VARIABLE2}

В этом примере, значение переменных окружения ${VARIABLE1} и ${VARIABLE2} будет браться из вашего .env файла.

Вы также можете использовать переменные окружения в других полях docker-compose файла, например, в volumes, ports и т.д.

4. Теперь вы можете запустить свой docker-compose файл с использованием одного env файла. Когда контейнеры будут запущены, они будут иметь доступ к переменным окружения, определенным в .env файле.

Запуск docker-compose:

docker-compose up

Docker будет автоматически загрузит переменные окружения из вашего .env файла и передаст их в запущенные контейнеры.

Таким образом, вы можете использовать один env файл с docker-compose, чтобы определить все необходимые переменные окружения в удобном формате и использовать их в вашем docker-compose файле. Это помогает сделать вашу команду запуска композа более чистой и позволяет легко изменять значения переменных окружения без необходимости правки самого docker-compose файла.