ecos-mongo-app
Назначение:
Образ для развертывания контейнера с mongodb с преконфигурированными настройками датасорсов для микросервисов
Базовые образы:
mongo_4 - Официальный образ mongodb v 4.0.x
Шаблон сервиса docker-compose:
mongo-app:
logging:
options:
max-size: "10m"
max-file: "5"
container_name: mongo-app
hostname: mongo-app
restart: unless-stopped
stop_grace_period: 1m
image: nexus.citeck.ru/mongo:4.0
env_file:
- ./env_dir/mongo-app.env
expose:
- 27017/tcp
volumes:
- /opt/mongo-app:/data/db/
networks:
- app_network
Используемые переменные:
MONGO_INITDB_ROOT_USERNAME - логин пользователя, который будет создан в admin db с root привилегиями
MONGO_INITDB_ROOT_PASSWORD - пароль привилегированного пользователя
MONGO_INITDB_DATABASE - определение базы данных, используемой в скриптах развертывания в
/docker-entrypoint-initdb.d/*.js/sh. (1)ECOS_HISTORY_APP_DATASOURCE_DATABASE - db микросервиса истории (ecos-history)
ECOS_HISTORY_APP_DATASOURCE_USERNAME - логин для мкр истории, роль dbOwner (ecos-history)
ECOS_HISTORY_APP_DATASOURCE_PASSWORD - пароль для мкр истории (ecos-history-password)
ECOS_PROCESS_APP_DATASOURCE_DATABASE - db микросервиса ecos-process (ecos-process)
ECOS_PROCESS_APP_DATASOURCE_USERNAME **- логин для мкр ecos-process, роль dbOwner **(ecos-process)
ECOS_PROCESS_APP_DATASOURCE_PASSWORD - пароль для мкр ecos-process (ecos-process-password)
This variable allows you to specify the name of a database to be used for creation scripts in /docker-entrypoint-initdb.d/.js (see Initializing a fresh instance below). MongoDB is fundamentally designed for «create on first use», so if you do not insert data with your JavaScript files, then no database is created.
Типовой вывод успешного развертывания в лог контейнера:
MongoDB shell version v4.0.18
connecting to: mongodb://127.0.0.1:27017/test?gssapiServiceName=mongodb
2020-05-06T07:44:13.565+0000 I NETWORK [listener] connection accepted from 127.0.0.1:42378 #3 (1 connection now open)
2020-05-06T07:44:13.565+0000 I NETWORK [conn3] received client metadata from 127.0.0.1:42378 conn3: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "4.0.18" }, os: { type: "Linux", name: "Ubuntu", architecture: "x86_64", version: "16.04" } }
Implicit session: session { "id" : UUID("3cb7f158-dfaa-4ffd-896f-b36052828f19") }
MongoDB server version: 4.0.18
2020-05-06T07:44:13.593+0000 I ACCESS [conn3] Successfully authenticated as principal root_user on admin from client 127.0.0.1:42378
1
ecos-process
Successfully added user: {
"user" : "ecos-process",
"roles" : [
{
"role" : "dbOwner",
"db" : "ecos-process"
}
]
}
ecos-history
Successfully added user: {
"user" : "ecos-history",
"roles" : [
{
"role" : "dbOwner",
"db" : "ecos-history"
}
]
}
bye