Извлечение переменных из .env в docker-compose.yml

docker-compose.yml - имеет следующий вид:

services:

  postgresdb:
    build:
      context: ./docker/postgres
      dockerfile: Dockerfile

    env_file:
      - ./docker/postgres/.env.db

    volumes:
      - ./postgres_data:/var/lib/postgresql/data

    ports:
      - "5432:5432"

.env.db - хранит данные авторизации и находится по пути /docker/postgres/.env.db Каким образом возможно передать значения в образ с помощью безопасного env:

POSTGRES_USER=user
POSTGRES_PASSWORD=pass
POSTGRES_DB=database

Видел вариант: docker-compose.yml

version: '3.1'
services:
  my-service: 
    build:
      context: .
      args:
        - RAILS_ENV=${RAILS_ENV:-production}
    environment: 
      - RAILS_ENV=${RAILS_ENV:-production}

Dockerfile

FROM postgres

ARG RAILS_ENV=production

ENV RAILS_ENV $RAILS_ENV

RUN if [ "$RAILS_ENV" = "production" ] ; then echo "production env"; else echo "non-production env: $RAILS_ENV"; fi

Но не нашел информации как можно такое реализовать и возможно ли вообще, возможно кто то успешно это использует? Поделитесь информацией пожалуйста!


Ответы (0 шт):