docker网络(6)

一、docker原生网络

docker安装后会自动创建3种网络:bridge,host,none
可以使用以下命令查看:
在这里插入图片描述
docker安裝时会自动创建一个名为docker0的Linux bridge,新建的容器会自动桥接到这个接口。
在这里插入图片描述例如,现在运行一个容器,查看它的ip:
在这里插入图片描述由于已有一个容器,所以这个新建的容器ip不是2,而是3.
在这里插入图片描述
在这里插入图片描述bridge 模式下容器没有一个公有ip,只有宿主机才可以直接访问,外部主机是不可见的。
容器通过宿主机的NAT规则后则可以访问外网。
在这里插入图片描述

host网络

需要运行容器的时候指定
在这里插入图片描述在这里插入图片描述容器内外看到的一样。
host模式可以让容器共享宿主机网络栈,这样的好处是外部主机与容器直接通信,但是容器的网络缺少隔离性。比如宿主机用了80端口,容器就不能使用。

在这里插入图片描述

none模式

none模式是指禁用网络功能,只有lo接口,在容器创建时使用–network=none指定。比如有些数据比较敏感,不适合网络连接就适合用此模式。
在这里插入图片描述

二、docker自定义网络

自定义网络模式,docker提供了三种自定义网络驱动:

  • bridge
  • overiay
  • macvian
    bridge驱动类似默认的bridge网络模式,但增加了一些新的功能,overiay和macvian是用于创建跨主机网络。
    建议使用自定义的网络来控制哪些容器可以相互通信,bridge还可以自动DNS解析容器名称到iP地址。
    1.使用自定义的网络驱动
    在这里插入图片描述在这里插入图片描述2.自己指定网段
    在创建的时候指定参数:–subnet、–gateway
    在这里插入图片描述inspect查看:
    在这里插入图片描述自己创建容器查看:
    在这里插入图片描述3.自己指定容器ip地址,但必须是在自定义网桥上(通过–gateway和–subnet创建的才可以使用–ip),同一网桥上的容器是可以互通的。
    在这里插入图片描述
    桥接到不同网桥上的容器,彼此是不通信的。docker在设计上就是要隔离不同network的。
    在这里插入图片描述
    在这里插入图片描述现在的ip状况:
vm1172.18.0.2
vm2172.22.0.2
vm3172.22.0.10

在vm2里只能和vm3通信(一块网桥),如何能与my
通信呢?
答:将vm2连接到my_net1上。

[root@node2 ~]# docker network connect my_net1 vm2
[root@node2 ~]# docker attach vm2
root@f0744f90a37d:/# 
root@f0744f90a37d:/# ip addr   #两个ip
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
24: eth0@if25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:16:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.22.0.2/24 brd 172.22.0.255 scope global eth0   #本来的ip
       valid_lft forever preferred_lft forever
26: eth1@if27: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:12:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.2/16 brd 172.18.255.255 scope global eth1   #连接到my_net1网桥后分配的ip
       valid_lft forever preferred_lft forever

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值