Медленная работа микросервисов в Docker
Столкнулся с проблемой медленной работы приложения из трёх сервисов в контейнере докере. Разница в скорости работы c аналогичным приложением развёрнутым на хост-машине в 1.5 -3 раза.
OS Ubuntu 18
Сервисы могут отправлять друг другу HTTP запросы по схеме:
- app2 к app1
- app2 к app1 и app2
База данных MySQL расположена на хост-машине вне докера.
docker-compose.yml:
version: "3.7"
services:
app1:
container_name: app1
image: company/app1:latest
volumes:
- ./volumes/tomee/logs/app1:/usr/local/tomee/logs:cached
network_mode: "host"
app2:
container_name: app2
image: company/app2:latest
depends_on:
- app1
volumes:
- ./volumes/tomee/logs/app2:/usr/local/tomee/logs:cached
network_mode: "host"
app3:
container_name: app3
image: company/app3:latest
depends_on:
- app1
- app2
volumes:
- ./volumes/tomee/logs/app3:/usr/local/tomee/logs:cached
network_mode: "host"
Dockerfile для трёх сервисов выглядит одинаково:
FROM tomee:8-jre-7.0.5-plume
COPY ./conf/service.conf /usr/local/tomee/conf/service.conf
COPY ./conf/tomee.xml /usr/local/tomee/conf/tomee.xml
COPY ./conf/server.xml /usr/local/tomee/conf/server.xml
COPY ./conf/catalina.properties /usr/local/tomee/conf/catalina.properties
COPY app.war /usr/local/tomee/webapps