一、docker 虚拟化网络概述

  1、OVS: OpenVSwitch,不仅能模拟二层网络,还能模拟三层网络,或者VLAN,VXLAN,流控 SDN软件定义网络技术等。

  2、overlay network :叠加网络

  3、docker 安装后默认会有三种网络。

[root@localhost yum.repos.d]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
e0b61e87623d        bridge              bridge              local
1f98da302a92        host                host                local
bdb9eff6069c        none                null                local

  4、docker 安装后自动会创建一个软交换机docker0,他既可以扮演二层的交换设备也可以扮演二层的网卡设备,不给地址的话就是交换机,给地址的话既能当交换机又能当网卡。每当创建一个容器的时候就会创建一段网卡,一半连到容器上一半连到宿主机上,并且关联到了docker0,相当于用一根网线连接了容器和软交换机docker0,使用bridge-utils工具可以查看到

[root@localhost /]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
9344abfbcbd6        centos              "/bin/bash"         12 seconds ago      Up 12 seconds                           test_centos2
9bd5c09f2a2c        centos              "/bin/bash"         20 seconds ago      Up 19 seconds                           test_centos1
[root@localhost /]# brctl show
bridge name    bridge id        STP enabled    interfaces
docker0        8000.0242a13c61e1    no        veth1889d70veth55b0650
[root@localhost /]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:a7:ce:04 brd ff:ff:ff:ff:ff:ffinet 192.168.10.46/24 brd 192.168.10.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::2b2a:bd85:8d15:14c/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:a1:3c:61:e1 brd ff:ff:ff:ff:ff:ffinet 172.17.0.1/16 brd 172.17.255.255 scope global docker0valid_lft forever preferred_lft foreverinet6 fe80::42:a1ff:fe3c:61e1/64 scope link valid_lft forever preferred_lft forever
7: veth55b0650@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default link/ether 1a:4a:bd:27:e9:94 brd ff:ff:ff:ff:ff:ff link-netnsid 1inet6 fe80::184a:bdff:fe27:e994/64 scope link valid_lft forever preferred_lft forever
9: veth1889d70@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default link/ether 16:5e:42:f3:de:81 brd ff:ff:ff:ff:ff:ff link-netnsid 2inet6 fe80::145e:42ff:fef3:de81/64 scope link valid_lft forever preferred_lft forever
[root@localhost /]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000link/ether 00:0c:29:a7:ce:04 brd ff:ff:ff:ff:ff:ff
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default link/ether 02:42:a1:3c:61:e1 brd ff:ff:ff:ff:ff:ff
7: veth55b0650@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default link/ether 1a:4a:bd:27:e9:94 brd ff:ff:ff:ff:ff:ff link-netnsid 1
9: veth1889d70@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default link/ether 16:5e:42:f3:de:81 brd ff:ff:ff:ff:ff:ff link-netnsid 2

  5、每当创建一个容器并分配地址以后,就会在物理主机上生成一个iptables规则。

  6、docker有四种网络模型,若在容器创建时没有指定那么通通默认为第二种网络,桥接式网络,并且这个是nat桥不是物理桥。

    a、closed container封闭式容器,只有回环口。

    b、brdged container 桥接式容器,有虚拟网卡,连接到docker网桥上,默认网络地址为172.17.0.0/16

    c、joined container 联盟式容器,让容器一部分名称空间是隔离的。

    d、open container 开放式容器,和物理机共享名称空间

    

转载于:https://www.cnblogs.com/Presley-lpc/p/10661576.html

Docker 学习4 Docker容器虚拟化网络概述相关推荐

  1. Docker学习之四:容器虚拟化网络与docker网络

    虚拟化网络的原理简述 Linux内核支持六种名称空间,只要在用户空间有相应的客户端工具,都可以对对应的名称空间进行操作. 假如物理机有四块网卡,可以创建两个名称空间,此时可灵活将网卡分配到单独的名称空 ...

  2. 4、容器虚拟化网络概述

    Docker 网络 Docker 的网络实现其实就是利用了 Linux 上的网络名称空间和虚拟网络设备(特别是 veth pair). Linux 网络命名空间:https://www.jianshu ...

  3. docker容器虚拟化网络概述

    6种名称空间:UTS,User,Mount,IPC,Pid,Net docker 安装完之后默认提供三种网络 这里的bridge就表示桥接网络,并不是物理桥而是Net桥. 意思就是它的本机之上自动创建 ...

  4. Docker学习1——Docker入门

    Docker学习1--Docker入门 参考资料 1.Docker简介 2.尚硅谷2022版Docker实战教程(docker教程天花板) 1.1 Docker简介 1.1.1 Docker引入 假定 ...

  5. Docker学习(2)-Docker基础1

    Docker学习(1)-Docker简介 1.2 Docker安装及基础命令介绍 https://www.docker.com/#Docker官网 Docker 运行系统 OS 版本选择: Docke ...

  6. Docker学习2——Docker高级

    Docker学习2--Docker高级 2.1 Dockerfile解析 2.1.1 Dockfile是什么 Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参 ...

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

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

  8. docker学习笔记-6.容器关联,容器网络

    在server1  , server2安装并配置keepalived [root@docker-server1 ~]# yum install  keepalived –y [root@docker- ...

  9. Docker学习笔记(一)-容器、镜像和客户端与守护进程

    0x00 前言 一直使用过docker,但并不是太了解,于是开始学习了解一下 0x01 docker简介 1.什么是容器? 一种虚拟化的方案 操作系统级别的虚拟化 只能运行相同或相似内核的操作系统 依 ...

最新文章

  1. Python培训教程分享:10款超好用的Python开发工具
  2. leetcode 448. Find All Numbers Disappeared in an Array
  3. box unboxing(装箱 拆箱) C#编程指南
  4. mysqlsla的使用
  5. Oracle OS Block Header
  6. 零售商的“基因改造”浪潮
  7. 新手教程:用像素游戏制作大师MV开发游戏(一)
  8. tensorflow中的Supervisor
  9. element的表格index自定义_DIV表格组
  10. Android现学现用第十一天
  11. 百度万年历API(主要获取节假日和调休工作日数据)
  12. Themal稳态热仿真介绍
  13. 计算机如何建立小型服务器,如何将个人PC搭建成小型服务器
  14. 新操作系统有哪些新功能?一起来看看吧!
  15. 微信小程序wx:for 循环中item的keng
  16. 阿里云Nginx配置站点403Forbidden问题
  17. 用xpath解析网页
  18. Linux:Tomcat 安装配置详解
  19. LeetCode 876、链表的中间结点
  20. 2021-2027全球与中国碲化镉薄膜太阳能电池市场现状及未来发展趋势

热门文章

  1. servelt笔记一
  2. 基于Flask框架的Python web程序的开发实战 二 项目组织结构
  3. 如何用命令获知当前是一年中的第多少周和今天是周几
  4. Net窗体程序设计总结
  5. abap--关于集(set)的读取(如读取成本中心组下的所有成本中心)
  6. WSE2.0中X509安全令牌的使用
  7. 关于SQL数据库中的数据到如何导出--SQL2000导入到SQL2008中
  8. axios_的请求响应结果的结构---axios工作笔记006
  9. jsTree工作笔记001---jsTree的基本使用_js实现树形结构
  10. SpringCloud学习笔记022---SpringBoot中集成使用MongoDb进行增删改查