码迷,mamicode.com
首页 > 其他好文 > 详细

centos7下安装docker(23.docker-swarm之如何访问service)

时间:2017-12-13 19:46:48      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:dcoker   简单   doc   监听   class   不同   如何   删除   web   

技术分享图片 

 

如何访问service呢?

为了便于分析,我们重新部署web-server

1.删除service

执行命令docker service rm web-server

技术分享图片

docker service rm删除web-server,service所有的副本会被同时删除

技术分享图片

 

2.重新创建service,这次直接使用--replicas=2指定副本的数量

技术分享图片

 

3.现在每个worker-node上分别运行了一个副本

技术分享图片

 

那么现在如何访问service呢?

可以想成现在有两个docker host,分别运行了一个httpd容器,我们先去docker1上看一下网络情况

技术分享图片

容器监听了80端口,但是没有映射到Docker host,所以只能通过容器的IP访问,查看容器的IP

技术分享图片

容器的IP是172.17.0.2,实际上连接的是dcoker 默认的bridge网络

我们可以直接在docker1上访问容器的http服务

技术分享图片

但这样的访问也仅仅是容器层面的访问,服务没有暴露给外部网络,只能在dcoker 主机上访问,也就是说,我们现在无法访问service web-server

 

 

如何做到从外部访问service呢?

之前我们学习dcoker网络时知道只要将service暴露到外部,service也是同样的方法,不同的是我们之前学习的是单台host上的单个容器,现在是多个host上的多个容器,

其实方法也很简单,我们只要个整个的web-server添加端口映射就可以了

执行一下命令

docker service update --publish-add 8080:80 web-server

技术分享图片

如果是新建service,可以直接使用--publish参数,比如:

 docker service create --name web-server --publish 8080:80 --replicas=2 httpd

技术分享图片

可以看到现在service已经有端口了。

在浏览器中测试一下

技术分享图片

技术分享图片

 

centos7下安装docker(23.docker-swarm之如何访问service)

标签:dcoker   简单   doc   监听   class   不同   如何   删除   web   

原文地址:http://www.cnblogs.com/lkun/p/8034039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!