Docker网络——原生网络介绍、自定义网络创建、实现容器间通信、容器与外网通信、跨主机网络访问

1.什么是Docker网络?

    Docker早期版本中的网络基于主机桥接,但是Docker 1.0包含了一种新形式的网络,允许容器直接连接到主机以太网接口。默认情况下,一个容器有一个回路以及一个连接到默认内部桥接的接口,但是如果需要的话也可以配制成直接访问。通常,直接访问比桥接的速度更快。
  然而,桥接方法在许多情况下是非常有用的。桥接是通过主机自动创建一个内部网络适配器并为其分配一个主机本身尚未使用的子网。然后,当新的容器连接到这座桥,它们的地址进行自动分配。容器启动时你可以将其连接到主机接口或端口,因此运行Apache的容器可能启动并连接到主机上的TCP端口8080(或随机端口)。通过使用脚本和管理控制,你可以在任何地方启动Docker,连接端口并将其传达到需要使用该服务的应用或服务堆栈的其他部分。
  安装Docker时,它会自动创建三个网络,bridge(创建容器时默认连接到此网络)、 none 、host

2.docker原生网络

Docker原生网络的4个网络模式
(1)bridge模式
相当于Vmware中的Nat模式,容器使用独立network Namespace,并连接到docker0虚拟网卡(默认模式)
通过docker0网桥以及Iptables nat表配置与宿主机通信;bridge模式是Docker默认的网络设置
此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上
桥接模式下没有公共ip,也就是说没有对外ip的,容器启动时会生成网络对(相当于一根网线,一端连接到网络,一端连接到docker0)

运行一个容器
docker run -d --name nginx nginx
docker安装时会创建一个名为docker0的Linux bridge,新建的容器会自动桥接到这个借口
可以看到容器的宿主机server1上面多了一个网桥接口,这个桥接接口供容器和外界通信
docker inspect nginx 查看容器信息
可以看到这个容器的ip与桥接接口在一个网段,并且ip地址以网桥ip为基础递增,以网桥ip为网关
在这里插入图片描述
在这里插入图片描述
访问nginx容器ip,可以被访问
在这里插入图片描述
brctl show 可以看到容器网卡桥接到了docker0上
在这里插入图片描述
注意:
一般开启的容器默认使用的是bridge网络模式
bridge模式只有宿主机才能与运行在其上面的容器进行通信
宿主机上有桥接接口,上面有IP
开启的容器会自动分配和IP在一个网段的ip地址,并且开启的容器的ip以IP为基础递增
关闭容器之后,ip会自动释放
(2)host模式
相当于Vmware中的桥接模式,与宿主机在同一个网络中,但没有独立IP地址
一个Docker容器一般会分配一个独立的Network Namespace
但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace
而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口
host网络模式需要在容器创建时指定–network=host
host模式可以让容器共享宿主机的网络栈,可以让外部直接与容器通信,但是少了容器网络的隔离性
以host模式运行一个容器vm1

docker run -it --name vm1 --network host ubuntu	##运行一个容器
ip a ##在容器内执行ip a命令,发现显示和宿主机一样的网络信息

在这里插入图片描述
但可以看到宿主机和容器的运行环境不一样,这就是容器共享宿主机的网络
在这里插入图片描述
在这里插入图片描述
(3)none模式
实际上,该模式关闭了容器的网络功能,在以下两种情况下是有用的:容器并不需要网络(例如只需要写磁盘卷

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值