继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Docker学习笔记- 第六篇:网络

小阿远
关注TA
已关注
手记 29
粉丝 3
获赞 2

1.1 Docker网络

1.1.1 简介

Dokcer通过使用 Linux 桥接提供容器之间的通信,docker0 桥接接口的目的就是方便 Docker 管理。当 Docker daemon 启动时需要做以下操作:

  • 1:如果 docker0 不存在则创建
  • 2:搜索一个与当前路由不冲突的 ip 段
  • 3:在确定的范围中选择 ip
  • 4:绑定 ip 到 docker0

1.1.2 Docker的四种网络模式

docker run 创建 Docker 容器时,可以用 --net 选项指定容器的网络模式,Docker 有以下 4 种网络模式:

  • 1:host 模式:使用 --net=host 指定
  • 2:container 模式:使用 --net=container:NAMEorID 指定
  • 3:none 模式:使用 --net=none 指定
  • 4:bridge 模式:使用 --net=bridge 指定,默认设置

1.1.2.1 host 模式

如果启动容器的时候使用 host 模式,那么这个容器将不会获得一个独立的 Network Namespace,而是和宿主机共用一个 Network Namespace。容器将不会虚拟出自己的网卡,配置自己的 IP 等,而是使用宿主机的 IP 和端口。

1.1.2.2 container 模式

这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace,而不是和宿主机共享。
新创建的容器不会创建自己的网卡,配置自己的 IP,而是和一个指定的容器共享 IP、端口范围等。两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过 lo 网卡设备通信。

1.1.2.3 none模式

在这种模式下,Docker 容器拥有自己的 Network Namespace,但是,并不为 Docker容器进行任何网络配置。也就是说,这个 Docker 容器没有网卡、IP、路由等信息。需要我们自己为 Docker 容器添加网卡、配置 IP 等。

1.1.2.4 bridge模式

这个模式是 Docker 默认的网络设置,此模式会为每一个容器分配 Network Namespace、设置 IP 等,并将一个主机上的 Docker 容器连接到一个虚拟网桥上。当 Docker server 启动时,会在主机上创建一个名为 docker0 的虚拟网桥,此主机上启动的 Docker 容器会连接到这个虚拟网桥上。
Docker会从RFC1918所定义的私有IP网段中,选择一个和宿主机不同的IP地址和子网分配给docker0,连接到docker0的容器就从这个子网中选择一个未占用的IP使用。一般 Docker会使用172.17.0.0/16这个网段,并将172.17.42.1/16分配给docker0网桥

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP