Но, когда я бегу ниже
docker stack deploy -c docker-compose.yml foo_service
Я не могу связаться ни с одним из контейнеров и, следовательно, нет ответа от localhost: 4000, а также контейнеры немедленно перезапускаются после первоначального запуска.
Я выполнил команду netstat во всех контейнерах как для варианта 1, так и для варианта 2.В варианте 2 я вижу, что порт 1967 прослушивается, но в варианте 2 есть несколько случайных портов (я думаю, это нормально, поскольку эти порты публикуются в 1967 году для применения баланса нагрузки)
Stack
docker version 18.0
java 1.8.181
spring boot 2.1.1 (basic rest controller with one endpoint)
Dockerfile
FROM openjdk:8-jdk-alpine
VOLUME /tmp
EXPOSE 1967
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
docker-compose.yml
version: "3"
services:
web:
image: foouser/foorepo:foo
deploy:
replicas: 3
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
ports:
- "4000:1967"
networks:
- webnet
networks:
webnet:
Кто-нибудь знает, в чем здесь проблема?В чем разница между каждым вариантом?