美文网首页
docker容器虚拟化网络概述

docker容器虚拟化网络概述

作者: 麟之趾a | 来源:发表于2020-07-05 10:46 被阅读0次

docker虚拟化概述

linux 可以虚拟二层设备和三层设备

SDN: 软件定义的网络

C1和C3通信,且C1和C3在不同的网段

image.png

1.开启物理机的内核转发,使之通信
2.在模拟一个名称空间,开启内核转发,并且模拟2对网卡,分别插在s1和名称空间A1,s2和名称空间上A1


image.png

C1和C5通信,C1和C5在不同的物理机上

image.png

1.C1和C5,桥接在物理网卡。物理网卡当交换机使用,再使用软件定义出一个一样的物理网卡。如果有大量的容器,很容易产生广播风暴
2.C1出去用SNAT,进C5用DNAT。C5出去SNAT,进C1DNAT。需要做两次NAT,效率低下
3.overlay network 叠加网络
让C1和C5在同一网络内,C1和C5通信的源地址和目的地址不变,在此报文上,封装上物理机的源地址和目的物理机的地址。物理机1发到物理机2,发现地址是C5的IP,进行转发。C1和C5通信完成

docker网络

docker network ls
bridge: nat桥
yum -y install bridge-utils
brctl show  查看桥接的网卡
iptables -t nat -vnL  查看NAT规则
image.png

web1和web2进行通信,除了NAT,桥接和隧道的其他方式


image.png

容器是名称空间的隔离,我们可以使两个容器,共用一个NET,IPC,和UTS。及两个容器之间的进程进行通信,就可以用socket
我们也可以让容器,直接使用物理机的UTS,NET,和IPC。的名称空间,我们称之为容器的网络第二种模式host

docker网络的第三种格式none,意味着此容器没有网络是单机模式,只有lo接口。无网卡

docker网络的四种模式

1.none,容器中只有lo接口
2.Nat 模式,桥接到docker0桥上
3.联盟式网络,让两个容器用相同的Net,UTS,IPC名称空间
4.开放式网络,容器共用物理机的net,uts,ipc名称空间
如果创建容器时没有指定,默认使用bridge网络,NAT桥
docker container run --network [指定网络类型]
docker network inspect bridge查看网络的详细信息

手动操作网络名称空间

[root@ceshi ~]# ip netns help
Usage: ip netns list
       ip netns add NAME
       ip netns set NAME NETNSID
       ip [-all] netns delete [NAME]
       ip netns identify [PID]
       ip netns pids NAME
       ip [-all] netns exec [NAME] cmd ...
       ip netns monitor
       ip netns list-id
#创建一个r1的网络名称空间
ip netns add  r1
ip netns exec r1 ifconfig -a  查看r1的网卡
[root@ceshi ~]# ip netns exec r1 ifconfig -a
lo: flags=8<LOOPBACK>  mtu 65536
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
ip link help 查看帮助,创建一对网卡,分别插在r1和物理机上
ip link add  name veth1 type veth peer name veth1.2 // peer name 指明另一对网卡的名字
ip link set dev veth1.2 netns r1    //把veth1.2插在r1上,使用set参数把veth1.2转移到r1的名称空间内
ip netns exec r1 ifconfig -a  查看网卡
ip netns exec r1 ip link set dev veth1.2 name eth0 修改r1名称空间网卡的名字
ip netns exec r1 ifconfig eth0 192.168.1.1/24  设置r1网络名称空间网卡的地址
ifconfig veth 192.168.1.2/24
ping 192.168.1.1 两者是可以通信的
 把两个接口,配上IP地址,进行激活,物理机和r1是可以通信的。两者的IP地址,要在同一网段上

相关文章

  • docker容器虚拟化网络概述

    docker虚拟化概述 linux 可以虚拟二层设备和三层设备 SDN: 软件定义的网络 C1和C3通信,且C1和...

  • CI/CD之Docker容器DevOps知识汇总

    容器与虚拟主机的区别 Docker安装 Docker的镜像和容器 Docker的网络 Docker的持久化存储和数...

  • Docker容器网络-基础篇

    Docker容器网络-基础篇 Docker的技术依赖于Linux内核的虚拟化技术的发展,Docker使用到的网络技...

  • docker 零碎

    docker 虚拟化技术 docker 是一种虚拟化技术,基于 lxc 技术实现。 docker 容器操作 doc...

  • Linux环境基于CentOS7 搭建部署Docker容器

    1.Docker容器概述 区分Docker容器技术和VM虚拟机技术:evernotecid://394EFE90-...

  • 一、Docker介绍

    1、Docker容器不是虚拟机。使用Docker容器运行多个相互隔离的应用,Docker是内核级的虚拟化。 2、对...

  • Docker入门

    什么是 Docker 概述 和虚拟机一样,容器技术也是一种资源隔离的虚拟化技术。 2000 年的时候 FreeBS...

  • Docker学习 - 1. docker的应用介绍

    1. 虚拟化技术 在说 Docker 之前先说一下虚拟化技术, 因为 Docker 的容器化技术是虚拟化的一种体现...

  • 11、Docker快速部署LNMP网站平台

    一、Docker概述 1、Docker是什么? 使用最广泛的开源容器引擎一种操作系统级的虚拟化技术依赖于Linux...

  • Cgroup和Namespace 入门实践

    一、docker容器技术与传统虚拟化技术的比较 Docker容器技术是一个与传统的虚拟化技术有些本质上的差别,传统...

网友评论

      本文标题:docker容器虚拟化网络概述

      本文链接:https://www.haomeiwen.com/subject/vvnmqktx.html