Я тестирую некоторые микросервисы Spring Cloud Netflix, которые запускают их как отдельные контейнеры Docker в Windows.Приложения Spring Net Netflix, работающие на Docker, убиты контейнером, почему?
Их довольно много, десять или более. Дело в том, что после выполнения некоторых из них 7, 8 ... производительность приложений начинают снижаться, и некоторые из контейнеров были убиты, например, я вижу:
2017-01-24 14:05:52.165 INFO 5 --- [nfoReplicator-0] s.c.a.AnnotationConfigApplicationContext : Closing org.spring[email protected]67b129a3: startup date [Tue Jan 24 14:05:52 GMT 2017]; root of context hierarchy
Killed
- Почему производительность под воздействием ?
- Это проблема памяти? Как я могу это решить?
- Как я могу предотвратить удаление моих контейнеризованных приложений Java?
Я использую тот же Dockerfile для приложений (каждый из них изменяет команду ADD):
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD archimedes-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
мне интересно, если это необходимо, чтобы обеспечить -Xms и -Xmx флаги, чтобы заставить минимальная/максимальная доступная память ...
С другой стороны, чем больше контейнеров я запускаю, тем менее отзывчивыми являются приложения ... но диспетчер задач Window не показывает истощения CPU/RAM. Может быть, мне нужно настроить установку Windows Docker?
код доступен здесь: https://github.com/codependent/storyteller-microservices/tree/high-availability-rxjava
Для начала каждый microservice под каждой папке есть startContainer.sh, который показывает команды Docker я использую, например:
mvn clean package docker:build -DskipTests
docker run -e "SPRING_PROFILES_ACTIVE=archimedes1" -p 8761:8761 \
--name archimedes1 --add-host archimedes1:192.168.99.100 --add-host archimedes2:192.168.99.100 --add-host my-rabbit:192.168.99.100 \
-d storyteller/archimedes
docker run -e "SPRING_PROFILES_ACTIVE=archimedes2" -p 8762:8762 \
--name archimedes2 --add-host archimedes1:192.168.99.100 --add-host archimedes2:192.168.99.100 --add-host my-rabbit:192.168.99.100 -d storyteller/archimedes
Не так много информации, чтобы продолжать. – spencergibb
Я добавил дополнительную информацию. Если вы можете подумать о чем-то, что я могу предложить, чтобы помочь определить это, пожалуйста, скажите мне. Благодаря! – codependent