docker swarm

docker swarm 是集群管理工具,通过docker swarm可管理多个在集群中的节点机

通过创建swarm容器来执行各种swarm命令

--rm参数:容器执行完命令后自动删除容器

安装docker swarm 

swarm工具被封装在swarm镜像内,先下载swarm镜像

1.利用swarm创建集群

docker run --rm swarm create 

返回一个集群号

2.设置节点机docker守护进程远程访问

对于centos7:编辑/usr/lib/systemed/system/docker.service文件,在ExecStart后添加-H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock

docker守护进程默认监听/var/run/docker.sock套接字,2375一般作为docekr端口

之后运行systemctl daemon-reload 命令,再运行service docker restart

3.节点机加入集群(启动swarm代理)

节点机须有docker swarm 镜像

docker run -d swarm join --addr=本机ip:2375 token://集群号

当停止或删除swarm代理容器时,节点机会退出集群

4.查看集群内的节点机ip地址

docker run --rm swarm list token://集群号

5.启动swarm管理者

docker run  -d -p 端口号:2375 swarm manage token://端口号

6.向各个节点机发送命令

节点机需关闭防火墙,以允许swarm管理者访问2375端口

执行systemctl stop firewalld.service和systemctl disable firewalld.service 

在启动swarm管理者的机器上运行如下命令

docker -H tcp://localhost:端口号  具体的docker命令

如:docker -H tcp://localhost:2380 info

要查看各节点机的状态是否正常

加入集群或退出集群后,查询集群节点机时可能会存在延迟,如果无法加入或无法退出,可以执行service docker restart 命令,之后再次操作

创建容器时的策略

1.平铺策略(默认)

选择容器少的节点机优先创建容器

2.紧凑策略

过滤器

指定容器在满足条件的节点机上运行

1.约束过滤器

在指定节点机上运行容器

2.亲和过滤器

让容器在同一节点机或不同节点机上运行

原文地址:https://www.cnblogs.com/adelep/p/6868784.html