Я устанавливаю новый сервер на основе докера и пишу скрипт для запуска
$ docker-compose
для всех моих docker-compose.yml
файлов одновременно.
Я знаюо существовании файлов .env
, и я знаю о параметре env_file
в docker-compose.yml
, однако файлы .env
игнорируются, когда я запускаю
$ docker-compose up
из другого каталога и даже не полный путь в env_file
помогает.
my_script.sh:
#!/bin/bash
docker-compose up -f /server1/docker-compose.yml -f /server2/docker-compose.yml -f /server3/docker-compose.yml
Docker-compose.yml:
version: '3'
services:
service_name:
build: /server1/apache
env_file: /server1/.env
volumes:
- /web/${ROOT_DOMAIN}/web/:/var/www/:rw
.env
ROOT_DOMAIN=server1.domain.tld
Я хочу заменить переменную ${ROOT_DOMAIN}
в томах на переменную, определенную в файле .env
.Это работает как брелок, когда я запускаю
$ docker-compose up
из папки /server1/
.Однако, когда я запускаю свой скрипт, который находится в другом каталоге, переменные окружения игнорируются и по умолчанию имеют значение null.
Как это исправить?