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
最新文章
- thinkphp学习笔记13-15集
- Aspose.Cells设置自动列宽(最佳列宽)及一些方法总结
- cf112a(水题)
- .NET开发问题汇总
- Linux 下Git的安装和配置
- MyBatis的CRUD操作
- Jquery Ajax 调用 WebService
- BZOJ 3282: Tree( LCT )
- poj1887 Testing the CATCHER
- jquery animate的递归调用
- 201521123063 《Java程序设计》 第7周学习总结
- centos7添加图像化桌面并设置中文
- fopen的type的值的意思
- Visual Studio2013安装过程
- PowerDesigner 教程
- Analyzing Microarray Data with R
- find the safest road---hdu1596(最短路模板求最大概率)
- linux svn启动和关闭
- myBatis + SpringMVC上传、下载文件
- JComboBox组件的列表实时更新
热门文章
- 自定义application的全局捕获异常实现
- 开源缓存框架之ASimpleCache
- 阶段3 3.SpringMVC·_07.SSM整合案例_06.ssm整合之编写MyBatis框架
- HTML <;canvas>; 学习笔记
- C# 跨线程更新 UI
- 乌班图18.04 LTS 版LAMP环境配置记录
- 【.NET】由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。
- BUGKU (Take the maze)
- 【ABAP系列】SAP ABAP如何在调试查看EXPORT/IMPORT 内存数据
- 《Java开发手册》