У меня есть кластерное приложение akka, развернутое на 3 узлах с помощью Docker Swarm. Один из узлов предоставляет конечную точку HTTP. Теперь проблема в том, что к конечной точке HTTP нельзя получить доступ, даже если она выглядит так, как будто было выполнено правильное сопоставление портов.
Ниже приведен вывод работающей службы Docker ls
docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
prbk5icazzw8 test_seed replicated 1/1 registry.me:5000/seedroute:0.1.0-SNAPSHOT *:1600->1600/tcp, *:8000->8000/tcp
ldudkew6ym6q test_worker1 replicated 1/1 registry.me:5000/workerroute:0.1.0-SNAPSHOT *:1601->1601/tcp
e2oonp28rrs3 test_worker2 replicated 1/1 192.168.0.10:5000/workerroute:0.1.0-SNAPSHOT *:1602->1602/tcp
pe1xzog9qw4y registry replicated 1/1 registry:2 *:5000->5000/tcp
Нокогда я захожу на сервер с узлом test_seed и выполняю curl localhost:8000/members
Кажется, что соединение просто зависает, и я не получаю ответ в ответ:
curl -v localhost:8000/members
* Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 8000 (#0)
> GET /members HTTP/1.1
> Host: localhost:8000
> User-Agent: curl/7.58.0
> Accept: */*
>
с использованием wget то же самое, я получаюследующее:
wget localhost:8000/members
--2019-11-30 22:34:18-- http://localhost:8000/members
Resolving localhost (localhost)... ::1, 127.0.0.1, 127.0.0.1
Connecting to localhost (localhost)|::1|:8000... connected.
HTTP request sent, awaiting response...
Есть идеи, что может быть не так? Таким образом, у меня есть HTTP-сервер, который является частью приложения, развернутого с помощью Docker Swarm, и я не могу получить доступ к этому HTTP-серверу, даже с узла, на котором он работает.
Любые предложения о том, как это исправить, могут бытьприветствуется!
Edit-1
Принудительный запрос на использование 1Pv4 также не помог:
root@akka:~# curl -4 http://localhost:8000/members
curl: (7) Failed to connect to localhost port 8000: Connection refused