Docker网络

Docker网络基础

docker不启动时,在虚拟机中输入ifconfig
在这里插入图片描述

  • ens33:Linux虚拟机的地址
  • lo:本地回环接口(local)
  • virbr0:centos安装过程中如果选择虚拟化相关的服务,安装系统后会有virbr0网卡(固定默认ip地址:192.168.122.1),是做虚拟机网桥使用的,作用是为连接其上的虚拟网卡提供NAT访问外网的功能。

在Windows主机输入ipconfig,通过VMnet8实现Windows与Linux虚拟机的网络共享。
在这里插入图片描述

docker启动后,Linux虚拟机输入ifconfig,会多出来docker0
在这里插入图片描述

Docker 网络基础命令

查看docker网络模式命令

docker network ls

在这里插入图片描述
docker网络的作用:

  • 容器间的互联和通信,以及端口映射
  • 容器IP变动时可以通过服务名直接网络通信而不受影响

Docker的网络模式

网络模式简介
bridge为每个容器分配设置一个IP,并将容器连接到一个docker0虚拟网桥(默认为该模式)
host容器将不会虚拟出自己的网卡、配置自己的IP,而是使用宿主机的IP和端口
none容器有独立的network namespace,但并没有对其进行任何网络设置,比如分配网桥、IP等
container新创建的容器不会创建自己的网卡和配置自己的IP,而是和一个指定的容器共享IP、端口范围等

docker容器内部的IP是有可能发送变化的。在容器实例关闭,再重启后,它的IP可能会发送变化。

Docker的网桥网络模式(bridge)

Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP。

同时Docker网桥是每个容器的默认网关,因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。

docker run时,没有指定network的话默认使用的网桥模式就是bridge,使用的就是docker0。在宿主机ifconfig,就可以看到docker0,自己create的network:eth0、eth1…代表网卡1、网卡2…,lo:127.0.0.1即localhost,ip addr查看网卡的IP地址。
在这里插入图片描述

网桥docker0创建一对一对的虚拟设备接口,一个为veth,另一个为eth0,成对匹配。
整个宿主机的网桥模式都是docker0,类似于一个有一堆接口的交换机,每个接口叫veth。在每个容器内部也有一块网卡,每个接口叫eth0。
将宿主机上的所有容器都连接到docker0的内部网络上,每个容器在同一个网络下,会在这个网关下各自拿到分配的IP,此时各个容器的网络是互通的。

Docker的主机网络模式(host)

直接使用宿主机的IP地址与外界通信,不再需要额外的NAT转换。

容器将不会获得一个独立的network namespace,而是和宿主机共用一个network namespace。
容器将不会虚拟出自己的网卡,而是使用宿主机的IP和端口。
在这里插入图片描述
由于容器与宿主机共用网络,所以不需要端口映射。端口号会以主机端口号为主,重复时递增。
在这里插入图片描述

Docker的none网络模式

禁用网络功能,只有lo标识(127.0.0.1本地回环接口)

Docker的容器网络模式(container)

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

在这里插入图片描述

Docker自定义网络模式

使用默认的bridge模式,两个容器之间可以通过IP ping通。但是IP可能会发生变化,最好是可以通过服务名称ping通。默认的bridge模式不能实现通过服务名称ping通。所以需要自定义网络模式,因为自定义网络本身就维护好了主机名和IP的对应关系

创建网络模式
在这里插入图片描述
新建容器加入新建的自定义网络中。
在这里插入图片描述
互相 ping 测试,可以通过tomcat81、tomcat82 ping通。

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值