为了账号安全,请及时绑定邮箱和手机立即绑定

『高级篇』docker之DockerSwarm微服务部署(30)

如果我想通过域名访问怎么办,而且这三台主机都有服务。源码:https://github.com/limingios/msA-docker swarm分支

负载均衡

之前讲理论的时候说过负载均衡,对每个服务在每台主机上都是有负载均衡的,来进行轮询,每台主机server01,server02,server03,分别去访问他们的8080端口,去搭建一个负载均衡,可以用nginx或者apache,这里使用nginx的方式,毕竟之前使用过nginx。拉取部署完,需要20分钟,外网确实很慢。

  • 拉取nginx
docker pull nginx

  • 编写一个nginx配置挂载进去
vi nginx.conf

配置文件

upstream idig88 {
        server 192.168.66.101:8080;
        server 192.168.66.102:8080;
        server 192.168.66.103:8080;
}


server {
        listen  80;
        server_name     www.idig88.com;
        location / {
                proxy_pass http://idig88;
        }
}

启动命令

docker run -idt -p 80:80 -v `pwd`/nginx.conf:/etc/nginx/conf.d/default.conf nginx

配置一个host文件,在主机上 不是server01 server02 server03

sudu vi /etc/hosts

登录试试

  • 微服务扩缩容
docker service scale ms_gateway-zuul=3
docker service ps ms-gateway-zuul

  • 升级某个微服务
docker service update ms_course-edge-service --limit-cpu 0.5
docker service inspect ms_course-edge-service

总结

  • 以下各节点常规操作命令,比较简单,就不解释了
#取消manager
docker node demote [NODE]
docker node inspect [NODE]
docker node ls
# 升级成manager
docker node promote [NODE]
docker node ps [NODE]
docker node rm [NODE]
docker node update [OPTIONS] NODE

  • yml文件这个很复杂,我建议看看官方的文档更实际一些。

PS:有详细看看官网的文档,里面有非常多样化的配置,我相信基本可以满足大家的需求。到这样docker swarm 也就学完了,相信有个整体的认识吧。另外要说下有2个UI管理docker swarm的工具Portainer和Shipyard。下次开始k8s!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消