为独立容器创建覆盖网络时出错

Error while creating overlay network for standalone containers

根据 Docker 文档,当我们初始化 docker swarm 时,覆盖网络会自动创建。但是我们不能将该网络用于不属于 swarm 资源的单个 docker 容器。因此,我们需要使用“--attachable”标志创建覆盖网络。

我试图创建可附加的覆盖网络,但出现以下错误:

docker network create -d overlay --attachable my-attachable-overlay 
Error response from daemon: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.

我们需要 运行 群管理器上的这个命令吗?我们不能在不初始化 docker swarm 的情况下直接在像 boot2docker 这样的低重量容器上使用它吗?

swarm 作用域覆盖网络驱动程序确实需要 swarm。如果你只有一个节点,你只需要做 docker swarm init 然后你就可以创建一个群范围的网络。如果您在 swarm 工作节点上遇到此错误,则只需在 swarm 中的管理器上创建网络,然后它就可以在该 swarm 中的工作节点上使用。

overlay 网络驱动程序的全部目的是在 swarm 中的多个节点之间实现容器到容器的通信。在不打算使用任何其他 swarm 功能或与其他节点上的容器通信的单个节点中,没有必要使用覆盖网络驱动程序。使用本地范围的网络驱动程序,而不是 bridge.