docker单机网络类型

docker单机网络类型概述

Docker 安装时会自动在 host 上创建三种网络  分别为 bridge    host   none .   可用 docker network ls 命令查看

none 网络

none 网络就是什么都没有的网络.挂在这个网络下的容器除了 lo,没有其他任何网卡

一些对安全性要求高并且不需要联网的应用可以使用 none 网络

host 网络

       连接到 host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 完全一样

在容器中可以看到 host 的所有网卡,并且连 hostname 也是 host 的

直接使用 Docker host 的网络最大的好处就是性能,如果容器对网络传输效率有较高要求,则可以选择 host 网络.

当然不便之处就是牺牲一些灵活性,比如要考虑端口冲突问题,Docker host 上已经使用的端口就不能再用了.

另一个用途是让容器可以直接配置 host 网路.比如某些跨 host 的网络解决方案,其本身也是以容器方式运行的,这些方案需要对网络进行配置,比如管理 iptables.

bridge网络

Docker 安装时会创建一个 命名为 docker0 的 linux bridge. 如果不指定--network,建的容器默认都会挂到 docker0上

docker0 对宿主机来讲相当于一个单独的网卡设备  对于运行在宿主机上的每个容器来说相当于一个交换机 所有容器的虚拟网线的一端都连接到docker0上

并且docker0还是所有容器的网关

容器的网卡 [email protected]和宿主机上的brctl show 显示挂载到docker0桥下的veth28c57df是一对 veth pair

veth pair 是一种成对出现的特殊网络设备,可以把它们想象成由一根虚拟网线连接起来的一对网卡,网卡的一头([email protected])在容器中,另一头(veth28c57df)挂在网桥docker0上,其效果就是将[email protected]也挂在了docker0上

自定义bridge网络

1.创建一个linux 网桥设备  基于Linux 内核支持创建              docker  network create  --driver bridge

2.启动容器的时候把容器的网卡挂到此桥接设备上                docker   run      --network

docker通过防火墙规则阻断了所有桥接设备的双向流量  相当于所有的交换机都是隔开的 要想跨网桥之间的容器进行通信 可以为容器添加单独的网卡设备

如为httpd容器执行    docker network connect   my_net2 实现的网络拓扑如下

原文地址:https://www.cnblogs.com/yxh168/p/9602782.html

时间: 2024-10-07 23:12:14

docker单机网络类型的相关文章

Docker的网络类型和固定IP设置

Docker的网络机制 Docker的网络有三种类型(driver): bridge, host 和 null. birdge: 就如同桥接的switch/hub, 使用bridge网络的container会分配一个当前bridge配置的子网IP, 在通过run创建container时通过 --ip 指定. host: 需要使用 --network=host 参数指定. 使用主机网络, 此时 container 的网络会附属在主机上, 两者是互通的. 例如在container中的服务监听8080

理解Docker单机容器网络

在” 理解Docker单机容器网络 “一文中,还有一个Docker容器网络的功能尚未提及,那就是Docker容器的端口映射.即将容器的服务端口P’ 绑定到宿主机的端口P上,最终达到一种效果:外部程序通过宿主机的P端口访问,就像直接访问Docker容器网络内部容器提供的服务一样. Docker针对端口映射前后有两种方案,一种是1.7版本之前docker-proxy+iptables DNAT 的方式:另一种则是1.7版本(及之后)提供的完全由iptables DNAT实现的端口映射.不过在目前do

Docker:容器的四种网络类型 [十三]

一.None类型 简介:不为容器配置任何网络功能,--net=none 1.创建容器 docker run -it --network none busubox:latest 2.功能测试 [[email protected] ~]# docker run -it --network none busybox:latest / # ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBAC

docker网络类型访问原理

• bridge –net=bridge 默认网络,Docker启动后创建一个docker0网桥,默认创建的容器也是添加到这个网桥中. • host –net=host 容器不会获得一个独立的network namespace,而是与宿主机共用一个.这就意味着容器不会有自己的网卡信息,而是使用宿主 机的.容器除了网络,其他都是隔离的. • none –net=none 获取独立的network namespace,但不为容器进行任何网络配置,需要我们手动配置. • container –net=

docker 容器网络篇

在安装Docker的时候,系统会自动创建一个docker0的设备,默认ip地址为172.17.0.1,他既作为宿主机的网卡使用,也作为docker容器的交换机来使用.Docker的默认网段为:172.16.0.0/16.可以使用如下命令查看docker桥设备: [root@localhost ~]# docker network inspect bridge [ { "Name": "bridge", "Id": "f9e359b819

Docker源码分析(八):Docker Container网络(下)

1.Docker Client配置容器网络模式 Docker目前支持4种网络模式,分别是bridge.host.container.none,Docker开发者可以根据自己的需求来确定最适合自己应用场景的网络模式. 从Docker Container网络创建流程图中可以看到,创建流程第一个涉及的Docker模块即为Docker Client.当然,这也十分好理解,毕竟Docker Container网络环境的创建需要由用户发起,用户根据自身对容器的需求,选择网络模式,并将其通过Docker Cl

Docker源码分析(六):Docker Daemon网络

1. 前言 Docker作为一个开源的轻量级虚拟化容器引擎技术,已然给云计算领域带来了新的发展模式.Docker借助容器技术彻底释放了轻量级虚拟化技术的威力,让容器的伸缩.应用的运行都变得前所未有的方便与高效.同时,Docker借助强大的镜像技术,让应用的分发.部署与管理变得史无前例的便捷.然而,Docker毕竟是一项较为新颖的技术,在Docker的世界中,用户并非一劳永逸,其中最为典型的便是Docker的网络问题. 毋庸置疑,对于Docker管理者和开发者而言,如何有效.高效的管理Docker

Docker:网络模式详解

Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不足的地方网络方面. Docker自身的4种网络工作方式,和一些自定义网络模式 安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络). none .host.Container host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口. Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP.端口范围. None:该模式关

Docker-04-docker单机网络详解

一.docker的网络模式概述 1.1 单机模式 bridge 默认模式,此模式会为每一个容器分配.设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信. host 容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口. none 该模式关闭了容器的网络功能. 1.2 多机模式 overlay 2.Linux网络命名空间 2.1 查看namespace之间的隔离性 第一步:运行一个busybox docke