Docker - 创建Swarm

1. 准备

我们需要:

  • Docker Engine 1.12 or later installed
  • the IP address of the manager machine
  • open ports between the hosts

需要以下端口:

TCP port 2377 for cluster management communications

TCP and UDP port 7946 for communication among nodes

TCP and UDP port 4789 for overlay network traffic

2. 创建Swarm

查看当前 host 的 IP:

创建一个新的Swarm

$ docker swarm init --advertise-addr <MANAGER-IP>


在创建 Swarm 的同时,生成了管理节点 (manager)
--advertise-addr 将管理节点的地址发布为:172.17.0.1.其他工作节点如果要链接过来,需要确保它们能访问管理节点。

查看 Swarm 的信息
$ docker info

查看 docker 节点信息

$ docker node ls

 “*” 标识当前连接的节点

 

3. 为 Swarm 添加 worker 节点

在 Manager node 所在的 host上面运行 CMD

$ docker swarm join-token worker

在 Worker node 所在的 host 上面 运行 CMD

$ docker swarm join \
    --token SWMTKN-1-5navvuqvscrredmgo6x9ovsy5kbf81a5mzbmipydgfuelo0wg5-cjirzq0zm2eu5uvmi2u9p27je \
    172.100.1.12:2377

 

注意:在做集群之前,必须确保以下事情!!! 重要事情说三遍~~~

1. Docker监听远程端口实现远程调用API

$ vim /lib/systemd/system/docker.service

添加以下内容

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock


重新Load并且重启Docker程序  

$ systemctl daemon-reload

$ service docker restart 




2. 解决docker info报错docker bridge-nf-call-iptables is disabled办法

$ vim /etc/sysctl.conf

添加如下内容

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.bridge.bridge-nf-call-arptables = 1



3. 重启机器
shutdow -r now

posted @ 2017-01-05 14:07  TonyZhang24  阅读(414)  评论(0编辑  收藏  举报