阅读 基本概念 后我们知道 Swarm
集群由 管理节点 和 工作节点 组成。现在我们来创建一个包含一个管理节点和两个工作节点的最小 Swarm
集群。
搭建Swarm集群前请确保您安装了docker-machine、VirtualBox,如果没有安装的请看对应教程
安装docker-machine:https://blog.csdn.net/M82_A1/article/details/94643959
安装VirtualBox:https://blog.csdn.net/M82_A1/article/details/94640748
搭建集群前还需要boot2docker.iso镜像:用来运行docker容器
我这里直接存在了网盘,可以自行下载,也可以到GitHub上下载
网盘地址:链接:https://pan.baidu.com/s/1SGxLgqmVEWwgeYO2OhESnA
提取码:t47d
下载后将boot2docker.iso放在 用户/.docker/machine/cache/ 目录下
使用ls -a可以查看.docker这种文件
1.首先创建一个 Docker 主机作为管理节点。
docker-machine create -d virtualbox manager
如果出现报错:Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
这是因为未启用虚拟机的虚拟化引擎
关闭虚拟机后打开对应的虚拟化引擎即可。
使用 docker swarm init
在管理节点初始化一个 Swarm
集群。
连接到manager节点
docker-machine ssh manager
查看一下该docker主机的ip
设置为管理节点
docker swarm init --advertise-addr 192.168.99.100
红框内为添加工作节点时需要执行的命令
2.继续创建两个 Docker 主机作为工作节点,并加入到集群中。
创建工作节点1并连接,添加到集群中
docker-machine create -d virtualbox worker1
docker-machine ssh worker1
注意:添加到集群中的命令执行的是设置管理节点后给出的提示命令。
3.创建工作节点2并连接,添加到集群中
docker-machine create -d virtualbox worker2
docker-machine ssh worker2
注意:添加到集群中的命令执行的是设置管理节点后给出的提示命令。
在管理节点上,查看集群
docker node ls
到此Docker Swarm集群搭建完毕
部署服务
使用docker service命令在管理节点上部署服务看看效果,
docker service create --replicas 3 -p 80:80 --name nginx nginx:1.13.7-alpine
现在我们使用浏览器,输入任意节点 IP ,即可看到 nginx 默认页面
使用 docker service ls
来查看当前 Swarm
集群运行的服务。
使用 docker service ps
来查看某个服务的详情。
docker service ls
docker service ps nginx
使用 docker service logs
来查看某个服务的日志。
docker service logs nginx
服务伸缩
可以使用 docker service scale
对一个服务运行的容器数量进行伸缩。
docker service scale nginx=5
docker service scale nginx=2
删除服务
使用 docker service rm
来从 Swarm
集群移除某个服务。
docker service rm nginx
如有错误,欢迎指出。