微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux-docker网络相关知识

Docker网络

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

[11:02:55 root@ubuntu-lyj ~]#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 root@ubuntu-lyj ~]#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 root@ubuntu-lyj ~]#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等,所以极少使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐