首页 > 科技 >

docker之DockerSwarm的了解(4)

2019-02-15 17:13:59 网络整理 阅读:166 评论:0

Ingress+ link

就类型docker-compose,可以通过docker-compose.yml文件创建出来一组容器,他们之前通过link的方式进行访问,其实这种就类型docker-compose的link网络。

docker之DockerSwarm的了解(4)

PS:也就是在Ingress之上多了一个link的场景,可以通过link的方式访问,也不需要主机的网络,link怎么实现的呢,如果让一个容器link到另一个容器很容易毕竟他们在一台主机上,一个服务link到另一个服务其实没有那么简单了,可能包含一个容器,也可能包含很多个容器,可能运行在一台机器上,也可能分布在多台机器上,我们如何实现可以通过名字来访问彼此呢,这用到了容器的dns,这里的nginx服务依赖于tomcat服务,nginx有2个实例,tomcat有一个实例,所有的nginx的容器都会对tomcat的解析,把它解析到tomcat的VIP,VIP负责做负载均衡,原理就是这样的原理,link的方式外部是访问不到的。link只适合swarm集群内部的场景。

自定义网络

使用自定义的网络,首先要创建网络,所有的网络都可以通过名字来连接彼此,而不需要link操作了。只要连接这个网络的彼此,都可以通过名字。底层来说它和link是类型的。通过dns来解析应用的名字。然后通过VIP LB的形式来进行负载均衡。

#创建自定义网络

docker network create --driver=overlay --attachable mynet

#创建服务

docker service create -p 80:80 --network=mynet --name nginx nginx

docker之DockerSwarm的了解(4)

Ingress 支持外部访问,Ingress+ link和自定义网络只能容器间进行访问。

服务编排

服务部署服务发现(上边说到了)

服务更新 – docker service update

服务扩缩容 – docker service scale

Swarm

对外以Docker API 接口呈现

好处直接可以平滑的切换到docker swarm上。基本不需要改变现有的系统

容易上手,学习成本低

之前docker的经验可以完成继承过来。

轻量级,节省资源

专注docker集群的管理。插件的机制swarm的模块都抽象出来对应的API,可以根据自己的特点进行定制实现。

对docker命令参数支持完善

跟docker同步发布,docker的新的特性在dockerSwarm上都可以得到体现。

PS:docker Swarm基本都了解的差不多了。下次开始docker swarm的环境搭建。

标签:节点 容器 集群

相关文章