blank的编程之路


  • 首页

  • 归档

  • 搜索
consul atomikos mybatisplus druid nexus nas named bind mysqldump acme.sh Dockerfile rsync keepalived swarm kibana ubuntu linux scp bugfix https ssl certbot curl gogs adminer harbor yum portainer python kubernetes idea java springboot maven docker-compose redis nginx mysql brew git chocolatey jenkins elasticsearch docker haproxy rabbitmq centos

docker swarm 集群 部署服务

发表于 2019-10-28 | 分类于 运维 | 0 | 阅读次数 478

部署服务

新建服务 在 manager 节点运行 docker service create 来创建服务 用法类似 docker run

--replicas 3 表示 运行的容器数量 这里是 3

docker service create --replicas 3 -p 80:80 --name nginx nginx:alpine
ujzjguqnf94jhvacfpmnk2osk
overall progress: 3 out of 3 tasks 
1/3: running   [==================================================>] 
2/3: running   [==================================================>] 
3/3: running   [==================================================>] 
verify: Service converged

现在我们使用浏览器,输入任意节点 IP ,即可看到 nginx 默认页面。

提示: swarm 模式的服务 可访问节点IP 数量与容器数量无关

就算只创建一个容器数量的 nginx
仍然可以通过所有集群节点访问
因为 swarm 有内建网络互联 会自动路由请求到目标节点容器端口

查看服务 在 manager 节点运行 docker service ls 来查看当前 Swarm 集群运行的服务。

docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
fysd8lyrxdxr        nginx               replicated          3/3                 nginx:alpine        *:80->80/tcp
在 manager 节点运行 docker service ps $SERVICE_NAME 来查看当前 Swarm 集群运行的服务运行详情
docker service ps nginx
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE                ERROR               PORTS
99qwsh8xpuu9        nginx.1             nginx:alpine        node13              Running             Running about a minute ago                       
lu7yaeuptsuk        nginx.2             nginx:alpine        node12              Running             Running about a minute ago                       
qkqbs2ig266u        nginx.3             nginx:alpine        node11              Running             Running about a minute ago 

服务伸缩

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

当业务处于高峰期时,我们需要扩展服务运行的容器数量。

docker service scale nginx=5

当业务平稳时,我们可以减少服务运行的容器数量。

docker service scale nginx=2

删除服务

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

docker service rm nginx
  • 本文作者: blank
  • 本文链接: https://blankhang.com/2019/10/28/201910281516
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# consul # atomikos # mybatisplus # druid # nexus # nas # named # bind # mysqldump # acme.sh # Dockerfile # rsync # keepalived # swarm # kibana # ubuntu # linux # scp # bugfix # https # ssl # certbot # curl # gogs # adminer # harbor # yum # portainer # python # kubernetes # idea # java # springboot # maven # docker-compose # redis # nginx # mysql # brew # git # chocolatey # jenkins # elasticsearch # docker # haproxy # rabbitmq # centos
docker 组建 swarm 集群
docker swarm 集群部署 portainer 服务
© 2022 blank
Everything is energy and everything has a frequency