高级篇docker之DockerSwarm微服务部署

前言

如果我想通过域名访问怎么办,而且这三台主机都有服务。关注、转发、评论头条号每天分享java知识,私信回复“555”赠送一些Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式资料。

高级篇docker之DockerSwarm微服务部署_第1张图片
高级篇docker之DockerSwarm微服务部署_第2张图片
高级篇docker之DockerSwarm微服务部署_第3张图片

负载均衡

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

拉取nginx

docker pull nginx

高级篇docker之DockerSwarm微服务部署_第4张图片

编写一个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之DockerSwarm微服务部署_第5张图片
高级篇docker之DockerSwarm微服务部署_第6张图片
高级篇docker之DockerSwarm微服务部署_第7张图片

登录试试

高级篇docker之DockerSwarm微服务部署_第8张图片
高级篇docker之DockerSwarm微服务部署_第9张图片

微服务扩缩容

docker service scale ms_gateway-zuul=3

docker service ps ms-gateway-zuul

高级篇docker之DockerSwarm微服务部署_第10张图片
高级篇docker之DockerSwarm微服务部署_第11张图片

升级某个微服务

docker service update ms_course-edge-service --limit-cpu 0.5

docker service inspect ms_course-edge-service

高级篇docker之DockerSwarm微服务部署_第12张图片

总结

以下各节点常规操作命令,比较简单,就不解释了

#取消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!

 在此我向大家推荐一个架构学习交流群。交流学习群号:938837867 暗号:555 里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备

你可能感兴趣的:(高级篇docker之DockerSwarm微服务部署)