ecos-model-app
Назначение:
Образ микросервиса, предназначенного для хранения и работы с такими сущностями как: тип(type), раздел(section), ассоциация(association), действие(action)
Базовые образы:
openjdk:8-jre-alpine - официальный образ openjdk 8 jre на базе alpine linux
Шаблон сервиса docker-compose:
emodel-app:
container_name: emodel-app
restart: unless-stopped
stop_grace_period: 1m
image: nexus.citeck.ru/ecos-model:<ECOS_MODEL_IMAGE
expose:
- 8094/tcp
environment:
- JHIPSTER_REGISTRY_PASSWORD=alfr3sc0
- _JAVA_OPTIONS=-Xmx256m -Xms256m
- SPRING_PROFILES_ACTIVE=dev,swagger
- EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/eureka
- SPRING_CLOUD_CONFIG_URI=http://admin:$${jhipster.registry.password}@jhipster-registry:8761/config
- SPRING_DATASOURCE_URL=jdbc:postgresql://emodel-postgresql:5432/emodel
- ECOS_INIT_DELAY=120
networks:
- app_network
depends_on:
- emodel-postgresql
emodel-postgresql:
restart: unless-stopped
stop_grace_period: 1m
container_name: emodel-postgresql
image: postgres:10.4
environment:
- POSTGRES_USER=emodel
- POSTGRES_PASSWORD=
volumes:
- /opt/micro/postgresql/emodel:/var/lib/postgresql/data
networks:
- app_network
Используемые переменные:
_JAVA_OPTIONS - параметры для jvm
SPRING_PROFILES_ACTIVE - используемые при развертывании профили
EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE - url используемого по умолчанию eureka load balancer, содержит credentials
SPRING_CLOUD_CONFIG_URI - url используемого cloud config server, содержит credentials
JHIPSTER_REGISTRY_PASSWORD - пароль пользователя для аутентификации в eureka load balancer
SPRING_DATASOURCE_URL - url используемого postgresql datasource
JHIPSTER_SLEEP - таймаут перед развертыванием микросервиса
Известные проблемы:
Отсутствие readness/liveness проверок датасорсов при развертывании и активном состоянии микросервиса
Использование empty password в доступах к датасорсам
cloud config и eureka load balancer используют один и тот же пароль
Типовой вывод успешного развертывания в лог контейнера:
emodel-app | ----------------------------------------------------------
emodel-app | Application 'emodel' is running! Access URLs:
emodel-app | Local: http://localhost:8094/
emodel-app | External: http://172.25.0.26:8094/
emodel-app | Profile(s): [dev, swagger]
emodel-app | ----------------------------------------------------------
emodel-app | 2020-05-13 09:04:16.415 INFO 1 --- [ main] ru.citeck.ecos.model.EcosModelApp :
emodel-app | ----------------------------------------------------------
emodel-app | Config Server: Connected to the JHipster Registry running in Docker
emodel-app | ----------------------------------------------------------