开发者学堂课程【深入解析 Docker 容器化技术:Docker swarm 部署 nginx】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/659/detail/10964
Docker swarm 部署 nginx
内容简介
一、访问服务
二、实际操作
三、结论
一、访问服务
1、查看集群环境下的网络列表:docker network ls
查看 Docker swarm 所支持的网络,其中存在一个覆盖性网络 ingres
2、在 managmer 上创建一个 overlay 为驱动的网络(默认使用的网络连接为ingress)
(1)、指令
docker network create -d=overlay my-multi-host-network
(2)、执行
[root@manager1 ~]#docker network create -d=overlay my-multi-host-network
NETWORK ID NAME DRIVER SCOPE
mmufave1w2un my-multi-host-network overlay swarm
以上为增加项 my-multi-host-network,其网络驱动为 overlay 是以覆盖性网络为基础进行创建的。
二、实际操作
1、部署 mginx 服务
(1)、理论
在集群管理节点 manager1 上部署一个 nginx 服务
docker service create
//指定了使用网络
--network my--multi-host-network \
//创建的容器名
--name my-web \
//端口映射
--p 8080:80 \
//创建副本的数量
--replicas 2 \
nginx
(2)、实际操作
[root@manager1 ~]#docker service create \
>
--network my--multi-host-network
> --name my-web \
> --p 8080:80 \
> --replicas 2 \
> nginx
po3quzz244q2jjj60acnpmrnnu
overall progress:0 out of 2 tasks
1/2:running [===================>
2/2:running [===================>
verify:Service onverged
//首先进行拉取镜像,再进行服务的部署。
//此过程中,体现服务能够部署在 work1、work2,实现了集群操作。
//部署完成后,进行 docker service 的查看
[root@manager1 ~]#
docker service ps my-web
//服务名:my-web
//演示结果中,处于 manager1 正在运行之中状态的有两个
//对端口进行访问
192.168.200.162:8080
//显示如下
//当前已然存在一个 nginx,故将162改为163
192.16
3
.200.16
3
:8080
//此过程中由于创建副本、分配是一个随意的过程,163无法访问是由于此任务交予了 manager1 进行处理,故而163与162没能成功访问
三、结论
在自身进行测试的过程中,副本有可能被分配给 manager1、work;manege2、work2 或 work1、work2等等。