连接到 Docker Swarm 服务已发布端口后挂起。我已使用以下命令部署了 Docker 服务。
docker service create --name my-nginx --replicas 1 --publish published=5033,target=80 nginx;
与端口 5033 的连接挂起,等待响应,见下文。以下命令
wget -v http://localhost:5033/;
收益
--2022-09-21 17:04:41-- http://localhost:5033/
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:5033... connected.
HTTP request sent, awaiting response... ^C
操作系统
$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
内核是
$ uname -rv
3.10.0-1160.36.2.el7.x86_64 #1 SMP Wed Jul 21 11:57:15 UTC 2021
Docker 版本是
$ docker version
Client: Docker Engine - Community
Version: 20.10.18
API version: 1.41
Go version: go1.18.6
Git commit: b40c2f6
Built: Thu Sep 8 23:14:08 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.18
API version: 1.41 (minimum version 1.12)
Go version: go1.18.6
Git commit: e42327a
Built: Thu Sep 8 23:12:21 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.8
GitCommit: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
答案1
启用 ipv6 后,localhost 解析为 ipv6 ::1,因为 ipv6 优先级高于 ipv4。
您可以使用 进行检查ping localhost
。
如果不使用 ipv6,请禁用它
答案2
当我将“localhost”替换为“127.0.0.1”时,我能够成功建立连接。
似乎应该使用 127.0.0.1 来代替 localhost。
发布此内容以便能够帮助其他人。