Docker容器

Linux-docker网络相关知识

本文主要是介绍Linux-docker网络相关知识,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Docker网络

Docker服务安装完成之后,默认在每个宿主机会生成一个名称为docker0的网卡其IP地址都是172.17.0.1/16,并且会生成三种不能=同类型的网络

[11:02:55 [email protected] ~]#ifconfig docker0
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:fff:fef5:c936  prefixlen 64  scopeid 0x20<link>
        ether 02:42:0f:f5:c9:36  txqueuelen 0  (Ethernet)
        RX packets 46  bytes 6310 (6.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 66  bytes 8388 (8.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[11:02:58 [email protected] ~]#docker network list
NETWORK ID     NAME            DRIVER    SCOPE
f8bd89ab9ee6   bridge          bridge    local
33b7b13498f4   harbor_harbor   bridge    local
1faa19297211   host            host      local
13d0417a04ab   none            null      local

docker网络类型:

Docker的网络使用docker network ls 命令看到有三种类型。

[11:02:58 [email protected] ~]#docker network list
NETWORK ID     NAME            DRIVER    SCOPE
f8bd89ab9ee6   bridge          bridge    local
33b7b13498f4   harbor_harbor   bridge    local
1faa19297211   host            host      local
13d0417a04ab   none            null      local

Bridge:桥接,使用自定义IP
Host:不获取IP直接使用物理机IP,并监听物理机IP监听端口
None:没有网络

Bridge模式:使用参数 -net=bridge指定,不指定默认就是bridge模式。

Host模式:host模式,使用参数 -net=host指定。

  • 启动的容器如果指定了使用host模式,那么新创建的容器不会创建自己的虚拟网卡,而是直接使用宿主机的网卡和IP地址,因此在容器里面查看到IP信息就是宿主机的信息,访问容器的时候直接使用宿主机IP+容器端口即可,不过容器的其他资源必须文件系统、系统进程等还是和宿主机保持隔离。
  • 此模式的网路性能最高,但是各容器之间端口不能相同,适用于运行容器端口比较固定的业务。
  • 为避免端口冲突,先删除所有的容器;
  • Host模式不支持端口映射

none模式:使用参数 -net-none指定

在使用none模式后,Docker容器不会进行任何网络配置,其没有网卡,没有IP也没有路由,因此默认无法与外界通信,需要手动添加网卡配置IP等,所以极少使用。

这篇关于Linux-docker网络相关知识的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!