您当前的位置:首页 > 电脑百科 > 程序开发 > 容器

Docker网络实现的基本原理

时间:2022-12-07 12:49:50  来源:  作者:梯度云

Docker的网络实现基本原理是利用了linux 的网络命令空间和虚拟网络设备,因为Linux 通过在内核中进行数据复制来实现虚拟接口之间的数据转发,即发送接口的发送缓存中的数据包将直接复制到接收接口的接收缓存中,而无须通过外部物理设备进行交换,Docker 中的网络接口默认都是虚拟接口,虚拟接口的最大优势就是转发效率极高。对于本地系统和容器内系统,虚拟接口与一个正常的以太网卡相比并无区别,只是它的速度要快得多。Docker 的网络实现物理拓扑图如图1 所示。

图 1 Docker 的网络实现物理拓扑图

可以发现,不同容器之间的网络建立了连接并实现了各主机之间的通信,这是通过 Docker 网桥 docker 实现的。网桥是一个二层的虚拟网络设备,能把若干个网络接口连接起来,以使得接口之间的报文能够互相转发。

我们来具体看一下 Docker 创建一个容器的时候,会具体执行哪些操作

(1)创建一对虚拟接口,分别放到本地 Docker 宿主机和新容器的命名空间中。

(2)本地 Docker 宿主机一端的虚拟接口连接到默认的 docker网桥或指定网桥上,并具有一个以 “虚拟接口”开头的唯一名字,例如虚拟接口1。

(3)容器这边的虚拟接口将放到新创建的容器中,并修改名字为“虚拟接口2”,这个接口只在容器的命令空间中可见。

(4)Docker 宿主机从自身的网络可用地址中获取一个空闲地址分配给容器的“虚拟接口2”(例如 172.17.2.2/16)。

(5)完成这些操作以后,容器就可以使用它能看到的“虚拟接口2”虚拟网卡来访问外部网络(SNAT),或者外部网络访问新建容器(DNAT)。SNAT 和 DNAT 机制通过 Docker 宿主机本身的防火墙来实现。



Tags:Docker   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
Podman 是一个容器管理工具,可以用来运行和管理容器。它是一个开源项目,由 Red Hat 开发,旨在提供与 Docker 相同的功能,但是没有 Docker 的 daemon 进程。这意味着 Podman 可以...【详细内容】
2023-01-06  Tags: Docker  点击:(0)  评论:(0)  加入收藏
1、下载apisix-docker工程git clone https://github.com/apache/apisix-docker.git cd apisix-docker/example 后面的命令都将在该目录下工作2、启动apisixdocker compose u...【详细内容】
2023-01-03  Tags: Docker  点击:(6)  评论:(0)  加入收藏
Docker的网络实现基本原理是利用了Linux 的网络命令空间和虚拟网络设备,因为Linux 通过在内核中进行数据复制来实现虚拟接口之间的数据转发,即发送接口的发送缓存中的数据包将...【详细内容】
2022-12-07  Tags: Docker  点击:(0)  评论:(0)  加入收藏
今天给大家介绍一下docker-compose的用法,大家可以互相交流!1、简介docker-compose是Docker官方提供的用于定义和管理运行多个Docker容器的开源容器编排工具。可以使用YML文...【详细内容】
2022-11-19  Tags: Docker  点击:(30)  评论:(0)  加入收藏
来源:blog.csdn.net/weixin_41645135/article/details/125513040目录 什么是Docker? Docker的应用场景有哪些? Docker的优点有哪些? Docker与虚拟机的区别是什么? Docker的三大核...【详细内容】
2022-11-08  Tags: Docker  点击:(22)  评论:(0)  加入收藏
windows10上安装docker: http://www.ujiaoshou.com/xtjc/143941331.html从零开始的Docker Desktop使用: https://blog.csdn.net/qq_39611230/article/details/1086418422.Dock...【详细内容】
2022-11-03  Tags: Docker  点击:(52)  评论:(0)  加入收藏
其实 Docker 和 k8s 并非直接的竞争对手,它俩相互依存。Docker 是一个容器化平台,而 k8s 是 Docker 等容器平台的协调器。 虚拟化技术已经走过了三个时代,没有容器化技术的演进...【详细内容】
2022-11-02  Tags: Docker  点击:(47)  评论:(0)  加入收藏
来源丨网络前言在使用 Python 的早些年,为了解决 Python 包的隔离与管理 virtualenvwrapper 就成为我的工具箱中重要的一员。后来,随着 Python 3 的普及,virtualenvwrapper 逐...【详细内容】
2022-10-24  Tags: Docker  点击:(27)  评论:(0)  加入收藏
Docker DesktopDocker Desktop 是一个易于安装的应用程序,适用于您的 Mac、Linux 或 Windows 环境,使您能够构建和共享容器化应用程序和微服务。它提供了一个简单的界面,使您能...【详细内容】
2022-10-21  Tags: Docker  点击:(161)  评论:(0)  加入收藏
大家好,我是加勒比考斯。这次来给大家推荐10款高性能NAS,这10款NAS必须满足搭建虚拟机、Docker、软路由、HTPC家庭影院、搭建服务器等功能,这对于NAS的可玩性、拓展性以及处理...【详细内容】
2022-10-20  Tags: Docker  点击:(117)  评论:(0)  加入收藏
▌简易百科推荐
Podman 是一个容器管理工具,可以用来运行和管理容器。它是一个开源项目,由 Red Hat 开发,旨在提供与 Docker 相同的功能,但是没有 Docker 的 daemon 进程。这意味着 Podman 可以...【详细内容】
2023-01-06  魔众  搜狐号  Tags:docker   点击:(0)  评论:(0)  加入收藏
1、下载apisix-docker工程git clone https://github.com/apache/apisix-docker.git cd apisix-docker/example 后面的命令都将在该目录下工作2、启动apisixdocker compose u...【详细内容】
2023-01-03  封厂长  今日头条  Tags:APISIX   点击:(6)  评论:(0)  加入收藏
Docker的网络实现基本原理是利用了Linux 的网络命令空间和虚拟网络设备,因为Linux 通过在内核中进行数据复制来实现虚拟接口之间的数据转发,即发送接口的发送缓存中的数据包将...【详细内容】
2022-12-07  梯度云    Tags:Docker   点击:(0)  评论:(0)  加入收藏
场景介绍今天在docker上部署服务时,启动都很成功,但是访问时却访问失败。之前在本地启动、在测试服k8s上启动都很正常,为什么同样的代码、同样的docker镜像在docker上却有问题...【详细内容】
2022-12-02  Java热点    Tags:Dubbo   点击:(139)  评论:(0)  加入收藏
今天给大家介绍一下docker-compose的用法,大家可以互相交流!1、简介docker-compose是Docker官方提供的用于定义和管理运行多个Docker容器的开源容器编排工具。可以使用YML文...【详细内容】
2022-11-19  IT技术分享社区  今日头条  Tags:docker   点击:(30)  评论:(0)  加入收藏
来源:blog.csdn.net/weixin_41645135/article/details/125513040目录 什么是Docker? Docker的应用场景有哪些? Docker的优点有哪些? Docker与虚拟机的区别是什么? Docker的三大核...【详细内容】
2022-11-08  电脑爱好者小陆    Tags:Docker   点击:(22)  评论:(0)  加入收藏
windows10上安装docker: http://www.ujiaoshou.com/xtjc/143941331.html从零开始的Docker Desktop使用: https://blog.csdn.net/qq_39611230/article/details/1086418422.Dock...【详细内容】
2022-11-03  青鸟x飞鱼  今日头条  Tags:docker   点击:(52)  评论:(0)  加入收藏
其实 Docker 和 k8s 并非直接的竞争对手,它俩相互依存。Docker 是一个容器化平台,而 k8s 是 Docker 等容器平台的协调器。 虚拟化技术已经走过了三个时代,没有容器化技术的演进...【详细内容】
2022-11-02  梦幻宝贝    Tags:Docker   点击:(47)  评论:(0)  加入收藏
导读:在 Kubernetes 中运行无服务器函数时,实现更快的启动速度和更小的内存占用。本文字数:5814,阅读时长大约: 7分钟由于运行上千个应用程序容器荚(Pod)所耗费的资源多,令它实现...【详细内容】
2022-10-26    Linux中国  Tags:Kubernetes   点击:(29)  评论:(0)  加入收藏
作者 | 李元戎策划 | 王一鹏在云原生场景下,容器和kubernetes在开发、测试、生产中的应用越来越广泛,传统的操作系统往往会带来安全性、运维开销、OS 版本等方面的问题,容器操...【详细内容】
2022-10-25  互联共商   网易号  Tags:KubeOS   点击:(79)  评论:(0)  加入收藏
站内最新
站内热门
站内头条