一、必备环境:
- 两台主机:分别以 h1 和 h2 代称。
- 两台主机均已经安装完 docker-ce 。
二、开始安装
- 在 h1 上初始化 swarm,h1 自动成为 manager 节点。
docker swarm init
此时会输出下面一段用于添加 worker 节点的命令,复制下来,后面用:
docker swarm join --token SWMTKN-1-5oj5rdamql4iwte3rcqs56em6vp54kjedh5zi8tnbmbr49sd82-5vjnyhxegoupoykejhcelzae0 172.21.0.7:2377
其中,172.21.0.7 是主机 h1 的内网物理 ip ,并不是 swarm 网络环境的 ip .不要搞混了。
如果忘记了 token 可用如下方式查询:
docker swarm join-token manager
- 创建 overlay 网络
(用于 docker-compose 中)
docker network create --subnet 192.168.0.1/16 --driver overlay net_overlay
其中,192.168.0.1/16 是本人自定义的 overlay 网段
子网掩码是 16 位,可用 IP: 2^(32-16) - 2 个 。
3、切换到 h2 主机上,执行第 1 步生成的命令:
docker swarm join --token SWMTKN-1-5oj5rdamql4iwte3rcqs56em6vp54kjedh5zi8tnbmbr49sd82-5vjnyhxegoupoykejhcelzae0 172.21.0.7:2377
此时两台主机已经并网了。
- 发布服务:
注意使用 docker swarm 发布 service 时不能使用 docker-compse up -d 应该使用如下命令
其中 docker-compose 中的网络模式为 overlay
docker stack deploy myswarm --compose-file=docker-compose.yml
其中,docker-compose.yml 中的内容如下
,网络要使用 net_overlay 。
(后面加)
5、检查服务状态:
- docker node ls 所有节点
- docker service ls 所有服务
- docker network ls 所有网络
- docker service ps 服务名
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于