使用Docker Machine搭建Docker Swarm集群并部署nginx服务

阅读 基本概念 后我们知道 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

使用Docker Machine搭建Docker Swarm集群并部署nginx服务_第1张图片

 

如果出现报错:Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"

这是因为未启用虚拟机的虚拟化引擎

使用Docker Machine搭建Docker Swarm集群并部署nginx服务_第2张图片

关闭虚拟机后打开对应的虚拟化引擎即可。

使用Docker Machine搭建Docker Swarm集群并部署nginx服务_第3张图片

 

使用 docker swarm init 在管理节点初始化一个 Swarm 集群。

连接到manager节点

docker-machine ssh manager

使用Docker Machine搭建Docker Swarm集群并部署nginx服务_第4张图片

查看一下该docker主机的ip

使用Docker Machine搭建Docker Swarm集群并部署nginx服务_第5张图片

设置为管理节点

docker swarm init --advertise-addr 192.168.99.100

红框内为添加工作节点时需要执行的命令

 

2.继续创建两个 Docker 主机作为工作节点,并加入到集群中。

创建工作节点1并连接,添加到集群中

docker-machine create -d virtualbox worker1
docker-machine ssh worker1

使用Docker Machine搭建Docker Swarm集群并部署nginx服务_第6张图片

注意:添加到集群中的命令执行的是设置管理节点后给出的提示命令。

 

3.创建工作节点2并连接,添加到集群中

docker-machine create -d virtualbox worker2
docker-machine ssh worker2

使用Docker Machine搭建Docker Swarm集群并部署nginx服务_第7张图片

注意:添加到集群中的命令执行的是设置管理节点后给出的提示命令。

 

在管理节点上,查看集群

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 Machine搭建Docker Swarm集群并部署nginx服务_第8张图片

 

使用 docker service ls 来查看当前 Swarm 集群运行的服务。

使用 docker service ps 来查看某个服务的详情。

docker service ls
docker service ps nginx

 

使用 docker service logs 来查看某个服务的日志。

docker service logs nginx

使用Docker Machine搭建Docker Swarm集群并部署nginx服务_第9张图片

 

服务伸缩

可以使用 docker service scale 对一个服务运行的容器数量进行伸缩。

docker service scale nginx=5

使用Docker Machine搭建Docker Swarm集群并部署nginx服务_第10张图片

 docker service scale nginx=2

 

删除服务

使用 docker service rm 来从 Swarm 集群移除某个服务。

docker service rm nginx


如有错误,欢迎指出。

你可能感兴趣的:(Docker)