Docker容器间网络如何互联

1. 通过IP互联

容器带有虚拟网桥,可以有自己的ip,容器间就可以通过ip进行互相通信

启动两个容器

分别ssh登陆,ifconfig查看自己的ip,例如分别为:

192.168.42.4

192.168.42.5

在 .5 中 ping 192.168.42.4

正常 ping 通,说明这两个容器间的网络沟通没有问题

但有一个新的问题,在容器重启后,他的ip会变,这样的话,容器间使用ip来互相沟通,这时就出现了问题

如何解决?

2. 通过容器名称互联

Docker提供了别名连接方式,让容器间的网络沟通不依赖于ip

先看下指定容器名称的命令

docker run -d -p 22 --name net001 dys/centos:ssh

--name net001 这个参数就给当前容器起了名字:net001

以后就可以直接使用 net001 来做各种操作,例如:

docker stop net001

docker start net001

即使重启docker服务,这个名字不会丢失

service docker restart

docker start net001

再启动一个容器,用参数指定连接 net001

docker run -d -p 22 --name net002 --link net001:lk001 dys/centos:ssh

--link 参数的格式为: --link name:alias,其中 name 是要链接的容器的名称,alias 是这个连接的别名

ssh登陆net002,测试连接 net001

ping net001

可以看到连接成功,这样我们就不怕连接目标容器的ip变化了

Docker做了什么?

查看 net002 的 host文件

cat /etc/hosts

可以看到,多了一行配置信息

192.168.42.4 lk001 4193f1ac3f78 net001

net002 中就是通过这条配置找到 net001 的,net001的ip变化时,Docker会自动修改net002 中的这条配置

这样就实现了容器间通过名称来稳定的互相沟通

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2015-07-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏每周一脱topic

一篇文章了解如何使用Docker

本文先简单介绍Docker,并利用一个例子演示如何使用,然后介绍几种分享Docker的方式。

5639
来自专栏IT笔记

Docker学习之网络模式配置

以前搭建过虚拟机(vmware)的小伙伴,有可能知道vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式...

6174
来自专栏腾讯云容器服务团队的专栏

Deployment vs ReplicationController in Kubernetes

此文主要选择了两个最常用的 controller : Deployment 和 ReplicationController ,从各自功能,优缺点方面进行对比,...

2.7K0
来自专栏云计算

​在 OS X 系统上快速上手 Docker 技术 (对 Docker 还不够熟悉? 从这里开始吧!)

原文地址:https://dzone.com/articles/dockerosx-quickstart-not

2238
来自专栏素质云笔记

caffe镜像︱window10+docker+ubuntu14.04+caffe镜像的简单尝试

win10专业版可以利用Hyper-V开启docker,一般升级而来的都是家庭版,现在要升级到win10专业版, 需要产品秘钥。 github网址:h...

3219
来自专栏云计算D1net

使用Docker时应该避免这10 件事…

容器可以解决很多问题,并且具有诸多优势,当你投身其中时便会发现其奥妙所在。 第一:容器是不可变的 - 操作系统,库版本,配置,文件夹和应用程序都包装在容器内。 ...

3557
来自专栏编程坑太多

『中级篇』什么是Container(15)

22310
来自专栏IT笔记

Docker学习之网络模式配置

以前搭建过虚拟机(vmware)的小伙伴,有可能知道vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)...

44810
来自专栏深度学习思考者

一篇关于视频下载的技术贴(源码)

前言: 在GitHub,用户可以十分轻易地找到海量的开源代码。本文就针对很常用的视频下载任务,给出了最简单粗暴的下载方式。 任务目标: 使用视频下载的开源项目,...

2547
来自专栏LuckQI

初识Mongodb,从了解,安装到使用

关于Docker的基础知识相关内容基本上写完了,剩下的就是需要我们去多多熟练学习了。 一篇知识的完毕,不是结束,而是另外的一个开始。我们接下来的系列文章就是Mo...

1064

扫码关注云+社区

领取腾讯云代金券