docker-bridge如何通信
docker网络
单机通信none网络
none(类似于NAT网络) 安全性,隔离性 none 网络就是什么都没有的网络。挂在这个网络下的容器除了
lo,没有其他任何网卡。容器创建时,可以通过 --network=none 指定使用 none 网络
我们不禁会问,这样一个封闭的网络有什么用呢? 其实还真有应用场景。封闭意味着隔离,一些对安全性要求高并且不需要联网的应用可以使用
none 网络。 比如某个容器的唯一用途是生成随机密码,就可以放到 none 网络中避免密码被窃取。
当然大部分容器是需要网络的,我们接着看 host 网络
host(类似仅主机网络),复制啦本地的网卡
连接到 host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 完全一样。可以通过
–network=host 指定使用 host 网络 直接使用 Docker host 的网络最大的好处就是性能,如果容器对网络传输效率有较高要求,则可以选择 host
网络。当然不便之处就是牺牲一些灵活性,比如要考虑端口冲突问题,Docker host 上已经使用的端口就不能再用了 Docker
host 的另一个用途是让容器可以直接配置 host 网路。比如某些跨 host
的网络解决方案,其本身也是以容器方式运行的,这些方案需要对网络进行配置,比如管理 iptables,大家将会在后面进阶技术章节看到
以上介绍都是docker的基本网络几乎在生产环境中用不到,但是必须会
(以上文档是以前看技术大佬的博客总结的,具体是谁忘记了,如有侵犯请联系作者!!)
bridge(类似于桥接网络)
bridge实验室图
先创建一个网卡为docker0的容器(web1)
[root@bogon ~]# docker run -itd --name web1 centos /bin/bash
进入容器查看IP
[root@bogon ~]# docker exec -it web1 /bin/bash
然后exit退出
创建网卡,指定网卡名称为my_net1(自定义网段,并且指定网关)
[root@bogon ~]# docker network create --driver bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 my_net1
查看网卡信息
[root@bogon ~]# brctl show
bridge name bridge id STP enabled interfaces
br-502656389f92 8000.024231624cde no
docker0 8000.0242666bcbc9 no
virbr0 8000.525400d5743c yes virbr0-nic
再根据my_net1网卡创建一个test1的容器(不需要指定IP)
[root@bogon ~]# docker run -itd --name test1 --network my_net1 busybox
7006b8232713130deb278c187de957f4505a3946b0e718cb1ca1da595e7c2119
然后在根据my_net1创建一个test2的容器(指定IP:172.22.16.10)
[root@bogon ~]# docker run -itd --name test2 --network my_net1 --ip 172.22.16.10 busybox
d8d7dbb07c0a45e85cfa0b95774b1226a4b6717b534e7fcf96d7dc1d96495c34
进入test2中ping test1和web1
然后pingtest1和web1(查看一下test1和web1的IP)
web1的IP
test1的IP
然后进到test2中ping test1和web1的IP
表示可以ping的同test1,但是ping不同web1因为web1指定的是docker本地网卡
这个时候我们开启路由转发功能,再次ping一下web1的
[root@bogon ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
[root@bogon ~]# sysctl -p
net.ipv4.ip_forward = 1
表示还是ping不同,
这个时候我们添加一把my_test2的网卡添加到web1中,就可以ping同啦
[root@bogon ~]# docker network connect my_net1 web1
进入web1容器中,查看IP
[root@bogon ~]# docker exec -it web1 /bin/bash
最后test2可以ping web1中的eth1表示可以通信
表示欧克
最后查看一下bridge(网卡)的信息
docker-bridge如何通信相关推荐
- Docker网络容器通信
Docker网络&容器通信 docker网络 原生网络 自定义网络 docker容器通信 ip通信 Docker DNS Server joined容器 link docker跨主机通信 容器 ...
- Docker跨服务器通信Overlay解决方案(上) Consul单实例
Docker跨服务器通信Overlay解决方案(上) Consul单实例 参考文章: (1)Docker跨服务器通信Overlay解决方案(上) Consul单实例 (2)https://www.cn ...
- Docker的安装和使用及其Docker容器间通信,云计算技术与应用实验报告
实验环境:Windows操作系统,阿里云资源,Docker 实验内容和要求:安装Docker并进行相关实验,熟悉Docker的相关操作.实验包括Docker的安装.镜像和容器的使用.容器的连接.容器间 ...
- docker 容器之间通信_四、Docker 网络原理、分类及容器互联配置
本文是<Docker必知必会系列>第四篇,原文发布于个人博客:悟尘纪. 上一篇:Docker必知必会系列(三):基于 Docker-registry/Nexus3 搭建本地仓库 Docke ...
- Docker 容器的通信(十二)
一.容器间通信 1.IP 通信 两个容器要能通信,必须要有属于同一个网络的网卡.满足这个条件后,容器就可以通过 IP 交互了.具体做法是在容器创建时通过--network指定相应的网络,或者通过doc ...
- docker - bridge 网桥
Docker0为linux的虚拟网桥 安装网桥工具: apt-get install bridge-utils 查看网桥信息: brctl show wfq@ubuntu:~$ brctl show ...
- docker网络亲情教学(docker bridge first)
1.查看当前镜像&& 运行镜像(默认使用bridge 连接的是 docker0 bridge 网桥) 容器已经运行: 2.查看网络ip地址分配 .(1):首先是宿主机(在启动容器之前是 ...
- docker 容器之间通信_还不清楚docker容器间是如何通信的?看这篇文章就够了
如果觉得文章有帮助,欢迎点击头像关注我获取更多原创文章,同时也欢迎转发. 同时也可以在我的历史文章中找到Linux操作系统相关的服务器运维管理入门系列文章,欢迎交流. 前文演示docker容器内部数据 ...
- [头脑风暴] 解读Docker Bridge网络模型
背景 这几天在研究Kubernetes, 遇到一个有意思的nodejs镜像:luksa/kubia # 不带端口映射启动容器 docker run -it -d luksa/kubia # 连接到默认 ...
- 看一眼就能学会---使用link让docker容器互相通信
使用link连接docker容器 首先需要做的是已安装好所需要的docker容器,小编这里以tomcat.mysql.rabbitmq为例,其他的都是可以直接套用的 这里就默认已经将mysql.rab ...
最新文章
- BCH期货合约将在美国挂牌交易所上线
- [Js]删除数组指定元素
- Solr集群搭建,zookeeper集群搭建,Solr分片管理,Solr集群下的DataImport,分词配置。...
- 分享两个JavaScript打乱数组顺序实现随机排序洗牌的方法(应用于音乐视频的随机播放等)
- 这可能是最生动的加密相关科普文章
- 为什么数据科学家需要承担开发运维的工作?
- 神经网络中的激活函数
- HTML+CSS实现个人简历
- 基于SpringBoot的酒店管理系统
- 良心安利东方 rpg游戏制作大师素材网站
- Tianchi big data competition天池大数据挑战(CV场)
- 金融类自定义View(二)--股票分时图
- MSDP RPF检测
- 智道分析吊瓜子的营养价值
- 陆奇加入拼多多,担任技术委员会主席!
- 服务器搭建是基于操作系统的,服务器搭建是基于操作系统的
- Emmagee—开源Android性能测试工具
- 大白菜装机教程win10_如何通过U盘重装win10系统?
- Android——仿京东垂直滚动广告栏
- API接口签名生成算法和签名验证算法