services: db: # База данных image: postgres:${POSTGRES_TAG} # Берём тег образа из переменной среды restart: always # Автоматический перезапуск контейнера, если он упал ports: # проброс портов - 5432:5432 # Так как на хосте нет postgres, порт по умолчанию можно использовать свободно volumes: # Указываем проброс папок - ${POSTGRES_DATA_DIR}:/var/lib/postgresql/data # Данные postgres хранятся в /var/lib/postgresql/data. # А на хосте монтируем туда, куда указано в переменной environment: # Указываем переменные среды POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} # Пароль от учётки postgres берём из переменных среды db_web_gui: # Интерфейс для доступа к БД (на компе нет PgAdmin) image: ${DB_GUI_IMAGE} # Их есть много разных, так что имя образа из env restart: always ports: - 8080:${DB_GUI_CONTEINER_PORT} # Так как Web GUI разные, то и порт может быть разный. Берём из env rabbit: # Rabbit тоже понадобится в будущем image: rabbitmq:${RABBIT_TAG} # Определяем тегом версию restart: always ports: - 5672:5672 # Это порт доступа к брокеру (если буду разрабатывать на локале) - 8081:15672 # А это порт для Web GUI. Для удобста на хосте это 8081, близко к БД volumes: - ${RABBIT_DATA_DIR}:/var/lib/rabbitmq # У Rabbit так же можно пробросить папку, чтобы не терять данные environment: RABBITMQ_DEFAULT_USER: ${RABBIT_USERNAME} # Логин для пользователя Rabbit Берём из env RABBITMQ_DEFAULT_PASS: ${RABBIT_PASSWORD} # Пароль для пользователя Rabbit. Берём из env