Для того чтобы использовать один 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 файла.