Docker网络详解

Docker网络初步详解


理解Docker网络

1.理解Docker0

#ip addr
lo:本机回环地址 127.0.0.1

eth0: 内网地址

docker0:docker生成的网卡。默认的,域名不能访问,--link可以打通连接

2.查看容器ip地址:

docker 命令 + ip addr
linux主机环境可以ping通容器内部

3.每启动一个docker容器时,docker就会给docker容器分配一个ip,
只要安装了docker,就会有一个网卡docker0,使用的是桥接模式,使用的是evth-pair技术

evth-pair技术:一对虚拟设备接口,它们都是成对出现的,一端连着协议,一端彼此相连。有此特性之后,
evth-pair技术充当一个桥梁,连接各种虚拟网络设备
OpenStac,Docker容器之间的连接,ovs的连接们都是使用的evth-pair技术

images1

容器之间也可以互相ping通。

网络模型图:(桥接模式)

images2

所有容器在未指定网络的情况下,都是ocker0路由的,docker会分配一个默认的可用ip。

Docker用的是linux的虚拟化网络技术,所有的网络接口都是虚拟的,虚拟的转发效率高(内网传递文件)

容器互联 --link:(不常使用)

docker exec -it tomcat02 ping tomcat02      不能ping通

docker run -d -P --name tomcat03  --link tomcat02 tomcat   ping通

tomcat03 反向ping tomcat02时不能ping通。
# tomcat03:Name or service not known
原因:没有配置
docker inspect + id     查看容器的具体情况

--link:原理就是在hosts文件中绑定一个映射
    128.18.0.4  id

自定义网络(容器互联):

查看所有的wangluo
    docker network ls
网络模式:
    bridge:桥接docker(默认模式,自己创建也使用bridge模式)
    none:不配置网络
    host:和宿主机共享网络
    container:容器网络互通(用的少,局限性过大)

测试:
    docker run -d -P --name tomcat01 --net bridge tomcat
    默认模式创建

自定义创建网络:
    docker network create --driver bridge --subnet 192.168.0.0/16(最多支持192.168.255.255)【255 * 255】 --gateway 192.168.0.1(网关)

    docker network ls

    docker network inspect ls
    查看自己的网络

    docker run -d -P tomcat-net-01 --net mynet tomcat
自定义的网络修复了docker0的缺点,不用--link也可以ping通,

网络联通:

不同网段之间的连通:
    docker network connect mynet 容器01
联通之后直接将容器1放到了容器2的网络下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值