实现 docker 跨主机通信(Swarm版)
侧边栏壁纸
  • 累计撰写 170 篇文章
  • 累计收到 176 条评论

实现 docker 跨主机通信(Swarm版)

若海
2021-07-14 / 0 评论 / 69,613 阅读 / 正在检测是否收录...

本文将在云服务器之间实现基于Swarm集群的overlay网络,以达到跨主机通信的目的。

docker 的安装教程非常之多,这里不再赘述。

环境配置

节点名节点IP节点服务
dnode010.0.0.11安装 Docker,并初始化Swarm集群
dnode110.0.0.12安装 Docker
dnode210.0.0.13安装 Docker

配置三台机器,请注意修改hostname为不同的值,防火墙放行如下端口:

  • TCP port 2376 for secure Docker client communication. This port is required for Docker Machine to work. Docker Machine is used to orchestrate Docker hosts.
  • TCP port 2377 is used for communication between the nodes of a Docker Swarm or cluster. It only needs to be opened on manager nodes.
  • UDP port 4789 for overlay network traffic (container ingress networking).
  • TCP and UDP port 7946 for communication among nodes (container network discovery).

初始化Swarm集群服务

docker swarm init

如果没有记住加入集群的token,以下可以重新获取

docker swarm join-token worker

其他节点分别加入Swarm集群

docker swarm join --token SWMTKN-1-tokenxxxxxxx 10.0.0.11:2377

在节点上创建网络

docker network create --driver overlay --subnet=10.0.2.0/24 --gateway=10.0.2.1 --attachable ovnet

分别在不同的节点上创建可以互通的容器

docker run -it --rm --network ovnet --ip 10.0.2.5 alpine
docker run -it --rm --network ovnet --ip 10.0.2.6 alpine
docker run -it --rm --network ovnet --ip 10.0.2.7 alpine
0

评论 (0)

取消