docker不同容器间的通信_请问在docker中如何进行多容器的交互?-程序员宅基地

技术标签: docker  

转载自:http://blog.csdn.net/zhangyifei216/article/details/50921215



一)在docker的低版本中(1.7.1),同一个宿主机上的多个docker容器之间如果想进行通信,有3种方式:
  1)通过使用容器的ip地址来通信,会导致ip地址的硬编码,不方便迁移,并且容器重启后ip地址会改变,除非使用固定的ip.
  2)通过宿主机的ip加上容器暴露出的端口号来通信,通信方式比较单一,只能依靠监听在暴露出的端口的进程来进行有限的通信。
     用法: extra_hosts
  3)通过docker的link机制可以通过一个name来和另一个容器通信,link机制方便了容器去发现其它的容器并且可以安全的传递一些连接信息给其它的容器。用法:links :-容器名


二)高版本的docker中可以直接調用
    docker引入网络新特性后,内置了一个DNS Server,但是只有用户创建了自定义网络后,这个DNS Server才会起作用。
    在网络新特性为未引入之前,有三种网络,第一种就是docker0这种桥接网络,用的也是最多的,第二个则是复用主机网络,称为  HOST网络,第三种就是none网络,只创建了一个空的网络命名空间,没有网络接口,无法和外界通信,可以让使用者自己去构建网络。当网络新特性引入后,有了overlay网络,有了用户自定义网络。用户自定义网络下,用户可以通过docker的network子命令创建一个自定义的桥接网络,这个自定义桥接的网络和默认的docker0桥接网络基本功能都是一致的,只是在这个自定义桥接网络中拥有一些特性,可以替代link机制。这些特性包括如下几个方面:
基于DNS的名称自动解析
安全的隔离环境
动态的附加或者脱离一个网络
支持使用–link设置别名
在用户自定义网络下,不使用link机制就可以实现名称解析功能了,不再是通过link机制追加名称解析关系到/etc/hosts文件中了。并且在默认的docker0桥接网络和自定义网络下使用link机制的效果是不一样的,在自定义网络中link机制只是负责设置别名的,不再提供环境变量注入的功能了。自定义网络中同时也提供了--net-alias功能和link机制提供别名功能是一样的。保留link机制目的是为了兼容。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lao_pei/article/details/79157712

智能推荐

RS485硬件标准1-电平定义_485端口正负电压-程序员宅基地

文章浏览阅读1.5k次。RS485标准是为了弥补RS232通信距离短、速率低等缺点而产生的而产生的,该接口标准只规定了电气特性,并没有规定接插件,传输电缆和 应用层通信协议。RS485标准与RS232不一样,数据信号采用差分传输方式。所谓差分传输,就是发送端在两条信号线上传输幅值相等,相位相反的电信号,接收端对接收的两条线信号做 减法运算,这样就获得幅值翻倍的信号。RS485上的两根线定义为A、..._485端口正负电压

centos mysql 端口,CentOS 上mysql端口3306的问题-程序员宅基地

文章浏览阅读200次。CentOS 上mysql端口3306的问题今天装了一台Linux系统,以前都是RedHat,后来听说有Fedora了,一直没用过。正好项目里环境要用就想弄一个来玩玩,结果现在人家最新的是CentOS,就一张CD,其他的根据需要自己上网Down,(我不喜欢这样子就自己下载DVD版)。安装完之后没有图形界面,而且没有提示输入root密码,还得到单用户模式下修改。后来下载了一个图形界面,弄好之后在那个..._centos修改mysql端口tcp6:3306为tcp

PXE自动化安装CentOS 8_centos8 pxe boot arp timeout-程序员宅基地

文章浏览阅读6.6k次,点赞5次,收藏26次。安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP。切勿用桥接模式 最好是NET模式而且把自动分配DHCP对勾取消。查看防火墙和seelinux是否关闭[root@centos8 ~]#firewall-cmd --statenot running[root@centos8 ~]#getenforce Disabled安装对应的软件包安装syslinux的时候..._centos8 pxe boot arp timeout

R软件学习笔记-5(R软件画图)_箱尾图绘制函数用法-程序员宅基地

文章浏览阅读6.8k次,点赞4次,收藏32次。转自:http://www.dataguru.cn/article-2421-1.html摘要: 一、直方图 绘制直方图函数:hist()对x1进行直方图分析 hist(x$x1)二、散点图 散点图绘制函数:plot()探索各科成绩的关联关系 plot(x1,x2) plot(x$x1,x$x2)三、柱状图 列联表分析 列联函数table():统计每个分数的人 ...一、直方图_箱尾图绘制函数用法

Redis常用命令-程序员宅基地

文章浏览阅读783次。http://www.4wei.cn/archives/1002509Redis常用命令集1)连接操作命令quit:关闭连接(connection)auth:简单密码认证help cmd: 查看cmd帮助,例如:help quit2)持久化save:将数据同步保存到磁盘bgsave:将数据异步保存到磁盘lastsave:返回上次成功将数据保存到磁盘的Unix时戳shundo..._redis怎么使用vi

android.content.res.Resources$NotFoundException: Resource ID #0xfffffe6c (使用BaseRecyclerViewAdapt)-程序员宅基地

文章浏览阅读3.8k次。错误:android.content.res.Resources$NotFoundException: Resource ID #0xfffffe6c 意思是资源ID找不到。然后又在报错中出现跟BaseQuickAdapter相关信息,可以分为两个方面,第一个是在加载Adapter Item取控件的时候为空,第二个是加载不同View的时候为空。 View inflate = g..._android.content.res.resources$notfoundexception: resource id #0xfffffe6c

随便推点

[源码解析] 机器学习参数服务器ps-lite 之(3) ----- 代理人Customer-程序员宅基地

文章浏览阅读469次。本文是参数服务器第三篇,介绍ps-lite的Customer模块。

卷积神经网络笔记--吴恩达深度学习课程笔记(四)_卷积神经 特征平面-程序员宅基地

文章浏览阅读2.8k次,点赞4次,收藏17次。各个知识点详解LeNet-5网络LetNet网络的的讲解主要参考1998年计算机科学家Yann LeCun发布的一篇论文《Gradient based learning applied to document-recognition》大家可以找到这篇论文结合学习,针对该网络,首先大家需要了解一下图像中的常用操作卷积,卷积这个词是信号处理领域的词,表示一个系统多数据处理的过程,在图像处理中的卷积,其实就是滤波器。下面先简要介绍一下卷积核的概念,这个不能细说,因为想要深入理解卷积需要很多知识,这里只给大家_卷积神经 特征平面

ANSYS无限大平板两边传热仿真_ansys热仿真-程序员宅基地

文章浏览阅读5.1k次,点赞4次,收藏20次。ANSYS无限大平板两边传热仿真有一无限大平板,导热系数为27.56,密度为591.8,密度为7800,厚度为1.08m,现将其划分为4层,5个温度节点,求分析其在两面不相等且温度变化的对流换热中的受热情况。对流换热系数为200。一、前处理器1、建立工程,改变工程名称2、选择处理热问题,勾选Thermal选项3、选择需要划分的节点类型,这里采用55节点若计算对称问题,则在o..._ansys热仿真

SpringBoot使用prometheus监控_spring security 只开启/actuator/promethues断点-程序员宅基地

文章浏览阅读3.1w次,点赞2次,收藏40次。本文介绍SpringBoot如何使用Prometheus配合Grafana监控。1.关于PrometheusPrometheus是一个根据应用的metrics来进行监控的开源工具。相信很多工程都在使用它来进行监控,有关详细介绍可以查看官网:https://prometheus.io/docs/introduction/overview/。2.有关GrafanaGrafana是一个开源监..._spring security 只开启/actuator/promethues断点

Redis数据结构_redis取值fet list-程序员宅基地

文章浏览阅读99次。redis是一种高级的key-value数据库存储系统 其中value值支持物种数据类型 ,key的数据类型一般都是String字符串类型:String散列类型:hash列表类型:list集合类型:set有序集合类型:sorted set对于redis的key值,如果定义的名称过长,查询效率就会降低,所以一般是按照规范命名就可以了。命令ping 就是连接是否成功 显示PONG就表示连接成功redis默认会在空间之中生成16个数据库,数据库编号以此从.._redis取值fet list

为什么在java中计算2的32次方可以用1L左移32表示_java中2的32次方如何表示-程序员宅基地

文章浏览阅读6.5k次。为什么在java中计算2的32次方可以用1L<<32表示 java中移位运算符<< : 左移运算符,num << 1,相当于num乘以2>> : 右移运算符,num >> 1,相当于num除以22的32次方,相当于32个2相乘1L<<32 ,不就是1乘以32个2 ,二者相等。<&_java中2的32次方如何表示

推荐文章

热门文章

相关标签