























本文参考以下链接:
为了进行本实例演示,此处按照要求安装了 3 台使用 centos7.4 系统的机器,这三台机器的主机名称分别为 manager1(作为管理节点),worker1(作为工作节点),worker2(作为工作节点),其 IP 地址分别如下:
| 主机名 | IP 地址 |
|---|---|
| manager | 192.168.0.101 |
| worker-1 | 192.168.0.102 |
| worker-2 | 192.168.0.103 |
在 manager 上创建 swarm 集群
[root@node-1 ~]# docker swarm init --advertise-addr 192.168.0.101
使用 docker node ls 查看集群节点信息
[root@manager ~]# docker node ls
在 worker1 和 worker2 中执行,加入 swarm 集群
docker swarm join --token SWMTKN-1-2zhqxsklcroivbpjzzntn5snsim79o5z7xzj4hzexk9phsz68q-d0seaxjgxpjebk8fdqt6d6yz5 192.168.0.101:2377
在管理节点上,使用 docker node ls 查看集群节点信息
[root@manager ~]# docker node ls
在向 docker swarm 集群中部署服务时,既可以使用 docker hub 上自带的镜像来启动服务,也可以自己通过 dockerfile 的镜像来启动服务,如果使用自己的 dockerfile 构建的镜像来启动服务,那么必须先将镜像推送到 docker hub 中心仓库
这里,我们使用 docker hub 上自带的 alpine 镜像为例来部署集群服务
[root@manager ~]# docker service create --replicas 1 --name helloworld alpine ping docker.com
当服务部署完成后,在管理节点上可以通过 docker service ls 查看当前集群中的服务列表信息
[root@manager ~]# docker service ls
使用 docker service inspect 查看部署的服务具体详情
[root@manager ~]# docker service inspect helloworl
使用 docker service ps 查看指定服务在集群节点上的分配和运行情况
[root@manager ~]# docker service ps helloworld
在集群中部署的服务,如果只运行一个副本,就无法体现出集群的优势,并且一旦该机器或副本崩溃,该服务将无法访问,所以通常一个服务会启动多个副本
[root@manager ~]# docker service scale helloworld=5
更改完成后,就可以谈过 docker service ps 查看这五个服务副本在 3 个节点上的具体分布和运行情况
[root@manager ~]# docker service ps helloworld
对于不需要的服务,我们可以进行删除
[root@manager ~]# docker service rm helloworld
在管理节点上,执行 docker network ls 查看网络列表
[root@manager ~]# docker network ls
在管理节点上,创建 overlay 网络
[root@manager ~]# docker network create -d overlay ov_net
在管理节点上,再次部署服务
[root@manager ~]# docker service create --network ov_net --name my-web --publish 8080:80 --replicas 2 nginx
访问 nginx 服务
以上
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。