gpt4 book ai didi

docker - 无法访问 Docker Swarm 中服务的 HTTP 端点

转载 作者:行者123 更新时间:2023-12-05 02:58:23 25 4
gpt4 key购买 nike

我有一个通过 Docker 群部署到 3 个节点的 akka 集群应用程序。其中一个节点公开了一个 HTTP 端点。现在的问题是无法访问 HTTP 端点,即使它看起来好像已经完成了正确的端口映射。

下面是运行 docker service 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 服务器,即使是从它运行的节点也是如此。

如有任何关于如何解决此问题的建议,我们将不胜感激!

编辑-1

强制请求使用 1Pv4 也无济于事:

root@akka:~# curl -4 http://localhost:8000/members
curl: (7) Failed to connect to localhost port 8000: Connection refused

最佳答案

正如您从以下 curl/wget 输出行中看到的那样

Resolving localhost (localhost)... ::1, 127.0.0.1, 127.0.0.1

您的系统首先将 localhost 解析为 ::1,即 IPv6 回溯,目前 Docker 不支持。

可能的解决方案是:

  1. 使用 127.0.0.1:curl http://127.0.0.1:8000/members
  2. 强制 IPv4:curl -4 http://localhost:8000/members
  3. 禁用 IPv6:以 root 身份打开 /etc/sysctl.conf 并添加以下内容:
    net.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1
    然后运行 ​​sysctl -p 以应用新设置。

关于docker - 无法访问 Docker Swarm 中服务的 HTTP 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59120475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com