Найти тему
7 подписчиков

docker-compose спецы, отзовитесь!


Есть проблемы, не пойму как мне передать не константное значение в файле docker-compose, когда нужно настроить порты для сервиса:

prod-db:

image: 'postgres:13.1-alpine'

ports:

- "5433:5432"

expose:

- 5432

environment:

- POSTGRES_USER=${DB_USERNAME}

- POSTGRES_PASSWORD=$DB_PASSWORD}

- POSTGRES_DB=${DB_NAME}

restart: unless-stopped

То есть вместо 5433 нужно, чтобы порт можно было настраивать...

Вариант такой не подходит:

ports:

- "${DB_PORT}:5432"

Заранее спасибо за ответ, плюс может кому это тоже пригодится!

UPDATE:

Как справедливо мне подсказали в комментариях, при добавлении файла .env и заполнением в нем необходимых переменных, проблема решается!

UPDATE-UPDATE:

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

Около минуты