Я сейчас пытаюсь развернуть приложение с Docker Swarm на 3 виртуальных машинах, я делаю это с помощью docker-compose для создания образа, мои файлы следующие:
Dockerfile:
FROM openjdk:8-jdk-alpine
WORKDIR /home
ARG JAR_FILE
ARG PORT
VOLUME /tmp
COPY ${JAR_FILE} /home/app.jar
EXPOSE ${PORT}
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/home/app.jar"]
и мой docker-compose:
version: '3'
services:
service_colpensiones:
build:
context: ./colpensiones-servicio
dockerfile: Dockerfile
args:
JAR_FILE: ColpensionesServicio.jar
PORT: 8082
volumes:
- data:/home
ports:
- 8082:8082
volumes:
data:
Я использую команду docker-compose up -d --build для создания образа, я автоматически создаю контейнер, который позже удаляется. Для использования Docker Swarm я использую 3 машины, один менеджер и два работника, у меня есть другой файл для развертывания службы с 3 репликами
version: '3'
services:
service_colpensiones:
image: deploy_lyra_colpensiones_service_colpensiones
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
volumes:
- data:/home
ports:
- 8082:8082
networks:
- webnet
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
networks:
webnet:
volumes:
data:
Пока что я думаю, что все в порядке, потому что в консоли с командой: docker service ls я вижу созданные службы, средство просмотра dockersamples / visualizer: stable, правильно показывает мне узлы на порте 8080, но когда я хочу сделать запрос к URL службы, который выглядит следующим образом:
завиток -4 http://192.168.99.100:8082/colpensiones/msg
появляется ошибка:
curl: (7) Не удалось подключиться к порту 192.168.99.100. 8082: Отказано в соединении.
Изображения с сервиса:
![enter image description here](https://i.stack.imgur.com/UBq3z.png)
Я следую учебнику по докеру: Начало работы https://docs.docker.com/get-started/part5/
Надеюсь, ваша помощь, спасибо