参考: http://hicu.be/docker-container-network-types

docker默认3中网络类型

参考: https://docs.docker.com/engine/userguide/networking/

  1. $ docker network ls
  2. NETWORK ID NAME DRIVER
  3. 7fca4eb8c647 bridge bridge
  4. 9f904ee27bf5 none null
  5. cf03ee007fb4 host host
  • bridge 桥接到docker0网卡
  • host 和宿主机共享网卡
  • none 无网卡

手动创建net

手动创建net的类型是 bridge模式

  1. docker network create neta
  2. $ docker network list
  3. NETWORK ID NAME DRIVER SCOPE
  4. 19856a1ad2b4 neta bridge local

最佳实践

  1. - 分别启动b1 b2(neta)
  2. docker run -itd --name=b1 busybox
  3. docker run -itd --name=b2 --net=neta busybox
  4. - 查看他们ip
  5. docker exec -it b1 ip ad
  6. docker exec -it b2 ip ad
  7. - b2 ping b1 不通
  8. docker exec -it b2 ping 172.17.0.2
  9. - b1连到neta,再次ping通了
  10. docker network connect neta b1
  11. docker exec -it b2 ping 172.18.0.3
  12. - 查看b1,发现b1多了一块网卡
  13. $ docker exec -it b1 ip ad
  14. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1
  15. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  16. inet 127.0.0.1/8 scope host lo
  17. valid_lft forever preferred_lft forever
  18. 10: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
  19. link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
  20. inet 172.17.0.2/16 scope global eth0
  21. valid_lft forever preferred_lft forever
  22. 14: eth1@if15: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
  23. link/ether 02:42:ac:12:00:03 brd ff:ff:ff:ff:ff:ff
  24. inet 172.18.0.3/16 scope global eth1
  25. valid_lft forever preferred_lft forever
  26. - 自定义的网卡自带dns
  27. $ docker exec -it b1 hostname
  28. 655e40ab3eed
  29. $ docker exec -it b2 hostname
  30. 3c821d2e8b05
  31. $ docker exec -it b2 ping 655e40ab3eed
  32. PING 655e40ab3eed (172.18.0.3): 56 data bytes
  33. 64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.085 ms
  34. 64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.129 ms
  35. - 默认dns
  36. docker exec -it b2 cat /etc/resolv.conf
  37. nameserver 127.0.0.11

共享另一个容器的网卡

  1. - 启动b1
  2. $ docker run -itd --name b1 busybox
  3. - 启动b2,使之使用b1的网卡
  4. $ docker run -itd --net=container:b1 --name b2 busybox
  5. - 查看b1b2的网卡 发现ipmac一致
  6. $ docker exec b1 ip ad
  7. 4: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
  8. link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
  9. inet 172.17.0.2/16 scope global eth0
  10. valid_lft forever preferred_lft forever
  11. $ docker exec b2 ip ad
  12. 4: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
  13. link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
  14. inet 172.17.0.2/16 scope global eth0
  15. valid_lft forever preferred_lft forever
  • dokcer cnm网络模式

  • 网络插件

docker 原生的 driver 包括 none、bridge、overlay 和 macvlan

第三方 driver 包括 flannel、weave、calico 等。

  • 加参数配置

  • docker和k8s的对比

docker网卡桥接

[docker]docker4种网络最佳实战的更多相关文章

  1. docker4种网络最佳实战 --摘自https://www.cnblogs.com/iiiiher/p/8047114.html

    考: http://hicu.be/docker-container-network-types docker默认3中网络类型 参考: https://docs.docker.com/engine/u ...

  2. [转帖]Docker四种网络模式

    Docker(十四)-Docker四种网络模式 https://www.cnblogs.com/zhuochong/p/10069293.html 计算机网络相关的知识 非常有用.. Docker 安 ...

  3. Docker学习第四天(Docker四种网络模式)

    Docker四种网络模式 实现原理 Docker使用Linux桥接(参考<Linux虚拟网络技术>),在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根 ...

  4. Docker(十四)-Docker四种网络模式

    Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看: none模式,使用--net=none指定,该模式关闭了容器的网络功能. host模式 ...

  5. Docker 四种网络模式

    原文 https://www.cnblogs.com/gispathfinder/p/5871043.html 我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络 ...

  6. Docker——四种网络模式

    docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式:  bridge模式:使用–net =bridge指定,默认设置:  host模式 ...

  7. docker四种网络模式

    1,host模式 启动容器时,添加参数--net=host 此模式和宿主机使用的是同1个ip,适合上网. 2,container模式 启动容器时,添加参数--net=container,docker ...

  8. k8s pod的4种网络模式最佳实战(externalIPs )

    [k8s]k8s pod的4种网络模式最佳实战(externalIPs )       hostPort相当于docker run -p 8081:8080,不用创建svc,因此端口只在容器运行的vm ...

  9. 最佳实战Docker持续集成图文详解

    最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ...

随机推荐

  1. (转)CASE WHEN 用法

    Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END   ...

  2. nc高级应用

    参数介绍: nc.exe -h即可看到各参数的使用方法. 基本格式:nc?[-options]?hostname?port[s]?[ports]?... nc?-l?-p?port?[options] ...

  3. IntelliJ IDEA(九) :插件(转)

    最近项目比较忙,很久没有更新IDEA系列了,今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同. 0|11.插件的安装 打开settin ...

  4. Android应用开发-数据存储和界面展现(一)

    常见布局 相对布局(RelativeLayout) 相对布局下控件默认位置都是左上角(左对齐.顶部对齐父元素),控件之间可以重叠 可以相对于父元素上下左右对齐,相对于父元素水平居中.竖直居中.水平竖直 ...

  5. guacamole部署

    centos7.6 安装java export JAVA_HOME=/usr/jvm/javaexport JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAV ...

  6. 洛谷.2219.[HAOI2007]修筑绿化带(单调队列)

    题目链接 洛谷 COGS.24 对于大的矩阵可以枚举:对于小的矩阵,需要在满足条件的区域求一个矩形和的最小值 预处理S2[i][j]表示以(i,j)为右下角的C\(*\)D的矩阵和, 然后对于求矩形区 ...

  7. windows下配置 GNU的gdb调试功能

    1.配置 修改环境变量(前提电脑中存在gdb.exe) 1. 我的电脑->属性->环境......在path那一项后面添加你DEV-C++ Bin目录的路径(gdb.exe所在目录),如: ...

  8. 大文件拆分方案的java实践(附源码)

    引子 大文件拆分问题涉及到io处理.并发编程.生产者/消费者模式的理解,是一个很好的综合应用场景,为此,花点时间做一些实践,对相关的知识做一次梳理和集成,总结一些共性的处理方案和思路,以供后续工作中借 ...

  9. wordpress模板修改及函数说明

    原文:http://java-er.com/blog/wp-mb-edit/ WordPress基本模板文件 style.css : CSS(样式表)文件index.php : 主页模板archive ...

  10. C#中使用 SendMessage 向非顶端窗体发送组合键

    开门见山,不废话了, 直接举例说明一下: 比如发送ALT + F 以下是 用spy++截取的消息内容 <00001> 000310DC P WM_SYSKEYDOWN nVirtKey:V ...