首页 Docker教程docker-容器间通信

docker-网络管理

docker-网络链接模式

运维派是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai

容器间的通信

默认情况下

  • 同一个宿主机的不同容器之前可以相互通信
  • 不同宿主机之间的容器IP地址重复,不能相互通信

范例:同一个宿主机的容器之间访问

范例:在第二个宿主机上创建容器,跨宿主机的容器通信

4.2 容器名称互联

新建容器时,docker会给自动分配容器名称,容器ID和IP地址,导致容器名称,容器ID和IP不固定,那么如何区分不同的容器,实现和确定目标容器的通信呢?解决方案是给容器起个固定的名称,容器之间通过固定名称实现确定目标的通信

有两种固定名称:

  • 容器名称
  • 容器名称的别名

注意:两种方式都最少需要两个容器才能实现

通过容器名称互联
容器名称介绍

即在同一个宿主机上的容器之间可以通过自定义的容器名称相互访问,比如:一个业务前端静态页面是使用nginx,动态页面使用的是tomcat,另外还需要负载均衡调度器,如:haproxy 对请求调度至nginx和tomcat的容器,由于容器在启动的时候其内部IP地址是DHCP 随机分配的,而给容器起个固定的名称,则是相对比较固定的,因此比较适用于此场景

容器名称实现

docker run 创建容器,可使用--link选项实现容器名称的引用

实战案例:使用容器名称进行容器间通信
  1. 先创建第一个指定容器名称的容器

  1. 新建第二个容器时引用第一个容器的名称

    会自动将第一个主机的名称加入/etc/hosts文件,从而可以利用第一个容器名称进行访问

通过自定义容器别名互联
容器别名介绍

自定义的容器名称可能后期会发生变化,那么一旦名称发生变化,容器内程序之间也必须要随之发生变化,比如:程序通过固定的容器名称进行服务调用,但是容器名称发生变化之后再使用之前的名称肯定是无法成功调用,每次都进行更改的话又比较麻烦,因此可以使用自定义别名的方式解决,即容器名称可以随意更,只要不更改别名即可

容器别名实现

命令格式:

实战案例:使用容器别名

范例:创建第三个容器,引用前面创建的容器,并起别名

范例:创建第四个容器,引用前面创建的容器,并起多个别名

本文链接:http://www.yunweipai.com/34872.html

docker-网络管理

docker-网络链接模式

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2012-2020 YUNWEIPAI.COM - 运维派
扫二维码
扫二维码
返回顶部