文章目录

  • 准备工作
  • Docker是如何处理容器网络的?
    • 测试一下容器之间是否可以互相ping通

准备工作

为了避免干扰,这里删除所有的容器和镜像。

# 删除所有容器
docker rm -f $(docker ps -a -q)
# 删除全部镜像
docker rmi -f $(docker images -qa)

查看一下本机网络

Docker是如何处理容器网络的?

在生产环境中,我们需要很多微服务,也需要部署redis和数据库,而访问数据库和redis需要指定地址或者ip,假设我们某个容器启动的redis出了故障,需要启动一个新的redis实例,而新示例的ip发生变化,这时候微服务里配置的ip地址要怎么办?
docker给每个容器都分配一个ip,并且容器与容器是客户互相访问的。

测试一下容器之间是否可以互相ping通

由于dockerhub官方的tomcat镜像没有带ping命令,这里我用自己制作的tomcat镜像来测试(已上传至dockerhub官方,公开可用)。
注意:lengcz/tomcat:1.0 是我制作的公开的tomcat镜像

  1. 先启动一个tomcat01
docker run -d -P --name tomcat01 lengcz/tomcat:1.0

查看tomcat01的网络配置,找到了它的ipaddress

docker exec -it tomcat01 ifconfig

  1. 在主机上ping tomcat01这个容器(可以ping通)
#主机可以ping到这个地址
ping 172.17.0.2

下面主机上再次查看ip addr,我们发现新增了一个网卡(红色圈起来的)。
原理:
每一个安装了Docker的linux主机都有一个docker0的虚拟网卡。这是个桥接网卡,使用了veth-pair技术!

  1. 每启动一个容器,linu系统就会新增一个虚拟网卡。
    下面我们在启动一个tomcat02,此时发现又新增了一张虚拟网卡。
docker run -d -P --name tomcat02 lengcz/tomcat:1.0

这样我们可以发现
tomcat01和tomcat02在主机上都有一个网卡,在容器内也有一个网卡,一对网卡连接主机和容器内。

原理
每一个安装了Docker的linux主机都有一个docker0的虚拟网卡。这是个桥接网卡,使用了veth-pair
技术!

  1. 我们来测试下tomcat01和tomcat02容器间是否可以互相ping通。结论发现是可以ping通的。

    结论:容器与容器之间是可以互相访问的。

  2. 我们看一下它的网络结构图

    结论
    tomcat1和tomcat2共用一个路由器。是的,他们使用的一个,就是docker0。任何一个容器启动 默认都是docker0网络。
    docker默认会给容器分配一个可用ip。
    小结
    Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网 关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接 通信。

    Docker容器网络就很好的利用了Linux虚拟网络技术,在本地主机和容器内分别创建一个虚拟接口,并 让他们彼此联通(这样一对接口叫veth pair);
    Docker中的网络接口默认都是虚拟的接口。虚拟接口的优势就是转发效率极高(因为Linux是在内核中 进行数据的复制来实现虚拟接口之间的数据转发,无需通过外部的网络设备交换),对于本地系统和容 器系统来说,虚拟接口跟一个正常的以太网卡相比并没有区别,只是他的速度快很多。

docker基础(17):Docker网络之Docker0相关推荐

  1. 上云——docker基础篇 docker网络

    docker网络 每启动一个docker容器,docker都会给容器分配一个ip,只要安装了docker,默认就会有一个docker0的网卡(桥接模式),使用的技术是evth-pair技术,我们直接在 ...

  2. Docker基础------安装docker,以及一些常用的docker命令,docker网络,自定义docker网络

    centos安装docker 1.卸载旧版的docker yum remove docker \docker-client \docker-client-latest \docker-common \ ...

  3. 5.Docker基础之Docker网络

    文章目录 Docker 网络 理解 Docker0 --link 自定义网络 网络连通 实战:部署 Redis 集群 Docker 网络 理解 Docker0 清空所有环境 docker rm -f ...

  4. Docker基础:Docker Desktop community的手动更新方法

    这篇文章介绍一下MacOS上的Docker Desktop community手动更新的方法. 目录 环境说明 Check for update 下载并更新 结果确认 总结 环境说明 liumiaoc ...

  5. docker基础之原理与docker网络

    目录 docker原理 docker基础概念 docker镜像 构建镜像 Dockerfile docker四种基础网络 docker原理 docker :容器技术,其原理基于Linux内核的name ...

  6. Docker基础03--Dockerfile详解与镜像发布--(狂神说docker学习笔记)

    文章目录 1. Dockerfile介绍 2. Dockerfile指令说明 3. 制作Centos镜像 3.1 编写Dockerfile的文件 3.2 通过这个文件构建镜像(注意最后加个点!!!) ...

  7. Kubernetes全栈架构师(Docker基础)--学习笔记

    目录 Docker基础入门 Docker基本命令 Dockerfile用法 制作小镜像上 多阶段制作小镜像下 Scratch空镜像 Docker基础入门 Docker:它是一个开源的软件项目,在Lin ...

  8. Docker学习(3)-Docker镜像构建和使用

    Docker学习(1)-Docker简介 Docker学习(2)-Docker基础1 Docker 镜像与制作 Docker 镜像内是否包含内核(bootfs)? 首先,从镜像的体积大小来说,一个比较 ...

  9. docker 获取宿主机ip_Docker基础修炼6——网络初探及单机容器间通信

    如果觉得文章有帮助,欢迎点击头像关注我获取更多原创文章,同时也欢迎转发. 同时也可以在我的历史文章中找到Linux操作系统相关的服务器运维管理入门系列文章,欢迎交流. 前文演示docker容器内部数据 ...

最新文章

  1. 1-flutter 安装步骤
  2. 我读过的最好的epoll讲解--转自”知乎“ 【转】
  3. java的集合:List、Set和Map
  4. 基于matlab的脑瘤mr图像处理_基于Matlab GUI的医学图像处理课程虚拟实验平台设计...
  5. 一文搞懂JVM架构:跳槽面试大厂被拒
  6. 2种图像增强方法:图像点运算和图像灰度化处理
  7. win32获取当前运行程序的内存地址_一个lock锁,就可以分出程序员对问题处置方式水平的高中低...
  8. pytorch torch.nn.RNN
  9. Vant报错:[Vue warn]: Invalid prop: type check failed for prop “lazyLoad“. Expected Boolean, got String
  10. Java内部类相关问题的总结与体会
  11. 哪些计算机的应用需采用多媒体技术,计算机多媒体技术的应用现状与发展前景...
  12. 11.20日个人工作总结
  13. java银行收费系统界面程序_基于jsp的物业收费管理系统-JavaEE实现物业收费管理系统 - java项目源码...
  14. uva10673floor and cei扩展的欧几里得
  15. 2018年DevOps最新现状研究报告解读
  16. cocos2d简单弹球
  17. pytorch优化器学习率调整策略以及正确用法
  18. 知识图谱认知智能理论与实战----------第二章 知识图谱模式设计
  19. 【阿里云IoT+YF3300】2.阿里云IoT云端通信Alink协议介绍
  20. SQL 身份证获取性别

热门文章

  1. 重典千枫.Net v1.0 正式发布 [2007.7.17]
  2. ParameterizedType及其方法详解
  3. 超级弱口令工具破解SMTP/POP3
  4. 美国工程师爸爸自述:我为什么让孩子学少儿编程
  5. iphone 设置 开发者 对应的中文翻译
  6. 办公pdf转word等软件的网站--往后找到再继续更新
  7. 寻牛堂 Amazfit T-Rex硬核不输G-SHOCK
  8. 为什么低碳水饮食对减肥有效?给你科学的解释
  9. CAD二次开发 导出构件生成新dwg
  10. 11家改变世界的超牛B创业公司