docker 网络 实现
最近在学习docker网络相关的知识,关于网络这块儿记下来,以便review
dokcer安装完成之后默认提供三种网络 bridge host none docker默认使用bridge
bridge在物理机之上创建一个软交换机 docker0 同事也可以当网卡使用 给予IP
启动容器的时候会给容器赋予一个网卡一个IP,同时在交换机上给另一个IP,一个网卡
yum -y bridge-utils
使用brctl show 可以看到docker0 上面的网卡的接口,目前有两个,因为启动了两个docker
这幅图我们能发现这个接口对应了if38 if 50 那么这个if38 if50 没有显示出来是因为这一半在容器中
在docker里面找到对应的另一半
docker0 桥默认是个nat桥 ,没生成一个容器之后 都会生成iptables规则如下:
任何接口进来只要不是到达docker0的地址,都需要作伪装
第一种 桥接网络模式,如果外部主机想要访问本机的一个docker,只有使用SNAT,D
NAT方式实现。 在主机的网卡上做端口的映射。
容器是由USER MOUNT Pid UTS Net IPC六个独立的名称空间组成 namespace资源隔离 cgroup资源划分
第二种 :通过左图方式能使多个容器共用一个网络接口 也就是一个lo通信,联盟式网络
第三种:host 让容器使用宿主机的namespace,就拥有了管理主机的网络权力,是第三种的衍生,第三种是2个docker共享网络资源,使得2个docker内部程序可以通过lo直接通信
第四种 none 使得容器成为一个孤岛 只处理自己的程序
可以通过docker network inspect bridge 查看 bridge网络的默认配置
docker container inspect XX
docker 网络 实现的更多相关文章
- 理解Docker(5):Docker 网络
本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- docker网络配置方法总结
docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这 ...
- 【转】Docker网络详解及pipework源码解读与实践
好文必转 原文地址: http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-prac ...
- Docker网络模式
[编者的话] 本文是<Docker网络及服务发现>一书的一个章节,介绍了搭建Docker单主机网络的基础内容.关于Docker网络的更多内容,包括多主机的网络,请参考该书的其他章节. @C ...
- docker网络-如何让外部网络访问容器资源
docker网络-如何让外部网络访问容器资源 安装httpd 服务: docker:/root# docker exec -it f63b2633d146 bash bash-4.1# yum ins ...
- docker网络解析
Docker概念和默认网络 什么是Docker网络呢?总的来说,网络中的容器们可以相互通信,网络外的又访问不了这些容器.具体来说,在一个网络中,它是一个容器的集合,在这个概念里面的一个容器,它会通过容 ...
- docker网络访问(三)
docker网络访问 ifconfig查看网卡,启动docker的时候,docker会帮我们创建一个docker0的网桥. 1.随机映射 docker run -P 2.指定映射 -p hostPor ...
- [Docker网络]模拟一台交换机的拓扑
[Docker网络]模拟一台交换机的拓扑 本例主要对Docker网络进行实际运用. 背景介绍 一台虚拟机如何模拟成一台多端口交换机分别连接多台虚拟机? bridge网桥技术 实验准备 docker d ...
- Docker 网络之理解 bridge 驱动
笔者在前文<Docker 网络之进阶篇>中介绍了 CNM(Container Network Model),并演示了 bridge 驱动下的 CNM 使用方式.为了深入理解 CNM 及最常 ...
- Docker 网络之进阶篇
笔者在<Docker 基础 : 网络配置>一文中简单介绍了容器网络的基本用法,当时网络的基本使用方式还处于 --link 阶段.时过境迁,随着 docker 的快速发展,其网络架构也在不断 ...
随机推荐
- Jenkins Publish FTP远程部署过程
步骤: 1.安装FileZilla FTP Server 2.添加FTP账号: 1.Edit——Users——Add 2.Edit——Users——Shared folders 3.下载FileZil ...
- nuros安全报告
We believe that great technology should benefit everyone. Self-driving vehicles promise to save live ...
- 3-mybatis-xml配置
配置文件主要在官网文档是已有详细说明. 1 properties 在上一节中已经有说明. 2 settings MyBatis中的调整设置. <settings> <!--全局地开 ...
- mybatis如何遍历Map的key和value【增删改查】
转: mybatis如何遍历Map的key和value 2017年11月28日 10:07:57 Joker_Ye 阅读数:4158 1.sql.xml <?xml version=&quo ...
- mariadb面试
[mariadb主从架构的工作原理] 主节点写入数据以后,保存到二进制文件中,从节点生成IO线程和sql线程,IO线程请求读取二进制文件:主节点生成的dump线程,将数据发送到中继日志中,sql线程读 ...
- 关于 About
关于我 我是 Ivy,目前武汉大学 GIS 专业在读硕士研究生,业余渣程序媛. 写了一些不起眼的代码(参看我的 GitHub),做了一些不起眼的小研究(参看我的 ResearchGate). 关于本站 ...
- delphi 双击dbgrid 调用另一窗体的例子
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Form ...
- JavaScript基础之常用事件
js 基础之常用事件 在js当中,事件是较为常用的内容,本篇文章来说一些常用的事件. 鼠标事件 下面是常用的鼠标事件: click 当用户按下并释放鼠标按键或其他方式"激活"元素时 ...
- SQL常见面试题(借书卡表_图书表_借书记录表)
问题描述: 本题用到下面三个关系表: CARD 借书卡: CNO 卡号,NAME 姓名,CLASS 班级 BOOKS 图书: BNO 书号,BNAME 书名,AU ...
- Linux增加虚拟内存方法
例如增加2G虚拟内存,操作如下: [root@gamedb ~]# free -m[root@gamedb tmp]# dd if=/dev/zero of=/tmp/big_swap bs=1024 ...