在 Docker、"Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on different interfaces"

In Docker, "Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on different interfaces"

我的问题类似于,但我发现接受的答案有些含糊,所以我会再问一次。尝试后

docker swarm init

我收到一条错误消息

Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on different interfaces (192.168.130.117 on enp1s0 and 192.168.130.89 on wlp2s0) - specify one with --advertise-addr

这可能是什么根本原因?我目前 运行 一个 VPN (OneClickVPN);有问题吗?

此外,为了用 --advertise-addr 指定一个地址,我想了解更多有关邮件中给出的地址的信息。我怎么能那样做?

您似乎有两个活动网络接口,一个在 enp1s0 上,另一个在 wlp2s0 上。我猜 enp1s0 是以太网连接,wlp2s0 是 WiFi 连接。

如您链接到的问题中所述,如果您在不同接口上有多个地址,则必须使用 --advertise-addr 指定一个。在您的情况下,您实际上是在以太网和 WiFi 接口之间进行选择。

您很可能正在做以下练习(第 2 章): https://github.com/docker/labs/blob/master/beginner/chapters/alpine.md 然后你转到了第 3 章。

除了 King 的回答,你还应该检查一下你的默认 IP。

docker-machine ip default 

那个错误看起来两个接口 IP 是 运行 这就是你的接口变得模糊的方式,它非常简单地执行拿你的 docker-机器的 ip 然后点击,

例如:docker swarm init --advertise-addr 111.111.11.111

我只想在我的工作笔记本电脑上有一个带有 1 个主节点的小群,这样我就可以 运行 进行一些测试。
所以我这样做了:

docker swarm init --advertise-addr 127.0.0.1

它工作得很好,满足了我的需要

我使用了以下命令:

docker swarm init --advertise-addr 127.0.0.1

它工作得很好。