当前位置: 首页 > news >正文

北京工程信息网站网络推广项目

北京工程信息网站,网络推广项目,专业做冻货的网站,行业网站建设多少钱docker的网络模式 当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识。Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络方面…

docker的网络模式

当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识。Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分。因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求。本文首先介绍了Docker自身的4种网络工作方式,然后介绍一些自定义网络模式。

安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host

模式简介备注
host模式容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口优势:性能高,适用于对网络效率有较高要求,但是对于端口会于宿主机冲突
bridge模式此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信拥有独立隔离的网络
none模式该模式关闭了容器的网络功能,挂在这个网络下的容器除了 lo,没有其他任何网卡在保密闭环的空间中使用,一般不使用
Container模式创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信。
自定义网络模式Docker 提供三种 user-defined 网络驱动:bridge, overlay 和 macvlan。overlay 和 macvlan 用于创建跨主机的网络docker network create -d bridge --subnet 172.25.0.0/16 network_name

docker-host网络

11585881740_.pic_hd.jpg

docker-bridge网络

docker默认的网络连接方式为bridge,即桥接模式。在实际运行中会生成一个虚拟的网桥docker0,这边的虚拟网桥就类似于物理交换机的作用,而veth则可以类比物理交换机的端口 ,veth与容器内的eth0网卡 就是一队veth-pair,关于veth-pair技术可以参考该链接Linux-虚拟网络设备-veth pair,. 而docker0作为linux普通网桥,可以配置ip,这样便可以在三层进行网络通讯了。
20170828171704363.png

Docker 创建一个容器的时候,会执行如下操作:

  • 创建一对虚拟接口/网卡,也就是veth pair,分别放到本地主机和新容器中;
  • 本地主机一端桥接到默认的 docker0 或指定网桥上,并具有一个唯一的名字,如 vetha596da4;
  • 容器一端放到新容器中,并修改名字作为 eth0,这个网卡/接口只在容器的名字空间可见;
  • 从网桥可用地址段中(也就是与该bridge对应的network)获取一个空闲地址分配给容器的 eth0,并配置默认路由到桥接网卡 vetha596da4。
  • 完成这些之后,容器就可以使用 eth0 虚拟网卡来连接其他容器和其他网络。
  • 如果不指定–network,创建的容器默认都会挂到 docker0 上,使用本地主机上 docker0 接口的 IP 作为所有容器的默认网关。

iptables

ipforward

我们知道bridge模式下,会生成虚拟docker0,docker0为容器的默认网关。作为容器与外界通讯的媒介,docker0 与宿主机的网卡如何通讯呢? 这边其实就利用了linux多网卡数据包的转发功能。

Linux系统默认多网卡之间的数据包转发功能是关闭的。开启方法如下:
数据包转发功能默认配置
cat /proc/sys/net/ipv4/ip_forward
0
设置为1的时候转发
开机自动数据包转发
把下面代码添加到开机启动项/etc/rc.d/rc.local
echo “1″ >/proc/sys/net/ipv4/ip_forward
或者修改/etc/sysctl.conf
net.ipv4.ip_forward = 1

docker常见问题解答

Q:docker build的时候需要连接外网,但是有时候连接不上,为什么如何解决?

A: docker build 默认采用bridge模式,该方式需要桥接网卡,但是没看到。所以采用host 模式进行
docker build --network=host -t test .
参考:https://www.debugself.com/2018/01/17/docker_network/

附录

  1. docker容器的网络配置
  2. docker-compose配置ipv6
http://www.dt0577.cn/news/29788.html

相关文章:

  • wordpress 设置导航河南网站关键词优化代理
  • 佛山企业网站建设公司企业网站seo点击软件
  • 建设旅游网站百度网址大全 官网首页
  • 任县网站建设设计引擎搜索
  • 网页链接提取长沙网站推广和优化
  • 北京朝阳双桥网站建设襄阳网站推广优化技巧
  • 手机版网站有必要吗吉林百度查关键词排名
  • 兰州市住房保障和城乡建设局网站百度最新版下载
  • 大连零基础网站建设培训班济南谷歌推广
  • 企业网站网页打开慢百度seo排名点击
  • 网站开发网站有哪些广州百度网站快速排名
  • 太平洋手机官网报价大全seo数据
  • wordpress 未分类成都搜索优化整站优化
  • 西安市住房和城乡建设委员会网站百度竞价排名是什么方式
  • 响应式网站自助建站怎么把自己的网站发布到网上
  • 自己做的网站怎样让百度搜到惠州seo快速排名
  • 自己做的网站不显示图片sem竞价代运营
  • 公司网站发展策划书拼多多女装关键词排名
  • 北京响应式网站建设友情链接价格
  • 如何优化网站内部链接关键字是什么意思
  • wordpress函数手册 pdf名片seo什么意思
  • 行业网站排名优化营商环境条例解读
  • 网站推广到海外怎么做seo优化文章网站
  • 广西茶叶网站建设电商培训视频教程
  • 做旅游宣传图的网站交换链接名词解释
  • 网站制作厂家电话多少seo怎么发布外链
  • 装饰公司做网站宣传的是个好处超级外链在线发布
  • 简要说明网站建设的基本流程免费发链接的网站
  • 聊城做网站的公司价格网络快速推广渠道
  • 怎么做打赏看视频的网站推广广告