`
m635674608
  • 浏览: 5043971 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Docker的各个网络模式

 
阅读更多

docker各个网络模型介绍

 

1.1 host模式

 

众所周知,Docker使用了LinuxNamespaces技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Network Namespace提供了一份独立的网络环境,包括网卡、路由、Iptable规则等都与其他的Network Namespace隔离。一个Docker容器一般会分配一个独立的Network Namespace。但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

 

例如,我们在10.10.101.105/24的机器上用host模式启动一个含有web应用的Docker容器,监听tcp80端口。当我们在容器中执行任何类似ifconfig命令查看网络环境时,看到的都是宿主机上的信息。而外界访问容器中的应用,则直接使用10.10.101.105:80即可,不用任何NAT转换,就如直接跑在宿主机中一样。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。

 

1.2 container模式

 

在理解了host模式后,这个模式也就好理解了。这个模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信。

 

1.3 none模式

 

这个模式和前两个不同。在这种模式下,Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。

 

1.4 bridge模式

bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上。下面着重介绍一下此模式。

 

http://www.superwu.cn/?p=1809

分享到:
评论

相关推荐

    基于macvlan的Docker容器网络系统的设计与实现1

    2. 简单的网络模式:仅提供四种基本网络模式(bridge、host、none、overlay),缺乏多租户网络隔离、服务质量(QoS)控制和服务发现功能。 3. NAT性能损失:跨主机通信通常依赖NAT,可能导致性能下降。 为解决上述...

    IT技术进阶:Docker容器的四种网络模式 (2).pdf

    Bridged Container 桥接式网络模式各个容器之间网络协议栈单独分离。当 Docker 启动时,会自动在主机上创建一个 docker0 虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机,它会在挂载到它的网口...

    IT技术进阶:Docker容器的四种网络模式.pdf

    Docker 容器的四种网络模式 Docker 容器技术是云计算和微服务大规模集群管理部署的重要技术支撑。作为开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到...

    Etcd flannel Docker 实现 docker 跨主机容器之间通讯

    Docker 的网络模式包括桥接网络、主机网络、overlay 网络等。在多主机场景下,我们通常会使用 overlay 网络,配合 Flannel 来实现跨主机通信。Flannel 可以作为 Docker 的网络插件,当 Docker 创建新的容器时,...

    主流Docker网络的实现原理概述.docx

    总结,Docker网络的实现原理包括了各种网络模式和插件,如Overlay、Weave、Flannel和Calico,它们各有优缺点,适用于不同的部署环境和需求。理解这些网络的实现原理,有助于更好地管理和优化Docker集群的网络性能。

    Docker网络解决方案-Calico部署记录.docx

    4. **BGP Route Reflector (BIRD)**:在大规模部署场景下,Calico会使用一个或多个BGP Route Reflector来替代全互联(mesh)模式,从而实现集中式路由分发,提高网络效率。 5. **vRouter**:Calico利用Linux内核...

    Docker基础-20-网络-容器link关系和新建bridge网络.rar

    这些网络模式各有优缺点,可以根据实际需求进行选择。 在Docker基础-20-网络-容器link关系和新建bridge网络.pdf这份文档中,你可能深入学习到了如何配置和管理Docker容器的网络,包括创建和删除网络、连接和断开...

    Docker入门视频课程(通俗易懂)

    Docker网络: 理解Docker网络模式,以及如何进行容器间的通信与网络配置。实际项目应用: 学习如何在实际项目中应用Docker,加速开发、测试和部署流程。阅读建议:按顺序学习: 请按照课程提供的顺序逐一学习,确保...

    Docker Swarm 管理资源.rar

    Docker Swarm是一种原生的集群管理器,它允许用户将多个Docker主机组成一个单一的虚拟系统,这被称为Swarm模式。在Swarm中,你可以创建服务,这些服务可以自动在可用的节点上扩展或收缩,确保高可用性和容错性。 2...

    美多商城的Docker及FastDFS文件

    5. **负载均衡**:FastDFS天然支持负载均衡,配合Docker的集群模式,可以自动将文件请求分发到不同的FastDFS节点,保证服务的高可用性。 通过以上介绍,我们可以看到Docker和FastDFS在美多商城项目中的核心作用。...

    Docker容器技术实践.docx

    Docker 在企业的技术实践中,对网络模式进行了改造。我们产生了一个“网卡绑定”,即生成了 bond0 网卡。我们通过创建一个 br0 网桥,来替换原来的 docker0 网桥。在该 br0 网桥中,我们所配置的网段和物理机所处的...

    docker swarm部署springcloud1

    8. **Docker Compose vs Docker Stack**:在Docker Swarm中,Docker Compose文件(YAML格式)被用于定义服务,而Docker Stack是Swarm模式下的服务部署命令,可以将Compose文件中的服务部署到Swarm集群。 9. **...

    Docker hadoop zookeeper hbase 配置文件

    在 Docker 中配置 Hadoop,需要设置 HDFS 的节点角色(如 NameNode、DataNode),并通过 Docker 网络确保各个节点间的通信。 Zookeeper 是 Apache 的一个开源项目,用于分布式系统的协调。在 HBase 集群中,...

    Docker在腾讯游戏中的实践.pptx

    - **调度编排**:采用Kubernetes进行容器编排,通过定制调度策略,如IDC定位、机架分配、网络模式选择等,确保游戏服务的稳定性和性能。 - **资源管理**:通过CPU核心绑定、内存cgroup限制、devicemapper或...

    Spring cloud与docker高并发微服务架构设计实施(试读)

    通过对Spring Cloud各组件的理解和Docker容器技术的应用,可以构建出高效、稳定的微服务架构。 综上所述,Spring Cloud与Docker在高并发微服务架构设计中的应用十分广泛,它们为企业级应用提供了强大的技术支持。...

    使用Jenkins Pipeline插件和Docker打造容器化构建环境.docx

    4. 使用 Docker-in-Docker 模式:在容器中运行 Docker 可以实现高效的自动化构建和部署,但是需要小心地配置 Docker-in-Docker 模式,以避免权限问题。 5. Jenkins JNLP 代理容器的启动方式:Jenkins JNLP 代理容器...

Global site tag (gtag.js) - Google Analytics