31 lines
2.7 KiB
YAML
31 lines
2.7 KiB
YAML
|
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
|
|||
|
|
|||
|
|