1 Docker 网络模式

网络模式 配置 说明
bridge模式 –net=bridge 默认值。在Docker网桥docker0上为容器创建新的网络栈
none模式 –net=none 不配置网络,用户可以稍后进入容器,自行配置
container模式 –net=container:name/id 容器和另外一个容器共享Network namespace。
host模式 –net=host 容器和宿主机共享Network namespace
用户自定义 –net=mynet 用户自己使用network相关命令定义网络

2 桥接原理概述

Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据,Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。


Docker容器网络就很好的利用了Linux虚拟网络技术,在本地主机和容器内分别创建一个虚拟接口,并让他们彼此联通(这样一对接口叫veth pair)。

Docker中的网络接口默认都是虚拟的接口。虚拟接口的优势就是转发效率极高(因为Linux是在内核中进行数据的复制来实现虚拟接口之间的数据转发,无需通过外部的网络设备交换),对于本地系统和容器系统来说,虚拟接口跟一个正常的以太网卡相比并没有区别,只是他的速度快很多。

3 Demo

3.1 命令 ip addr

#命令 ip addrlo: 使用与本地交互。
ens33: 虚拟机当前IP。
docker0: docker虚拟IP地址。

3.2 启动两个容器

#启动两个
docker run -it alpine

190:172.17.0.2 :

192:172.17.0.3 :

#命令
ip addr

概述: 多了一对

191 veth980971c@if190
193 veth32b3b0a@if192

3.3 容器内是是否互通

3.3.1 ping ip

ping ip,可以,把docker0当作网关,docker0网关能处理就直接转发。
如果docker0 网关处理不了,则交给ens33处理。

容器内相互ping ip:


容器内ping baidu:

3.3.2 ping 容器名称

ping 容器名称暂时不能ping通。

3.4 外部是怎么访问容器内部的?

#命令,创建tomcat
docker run -P -d --name tomcat  tomcat:jre8-alpine

#命令 查看iptabls 转发规则
iptables -nL

查看tomcat ip:

3.5 自定义模式 实现ping 容器名称

创建network:

#创建 -d 模式,--subnet ip段,--gateway 网关
docker network create -d bridge --subnet=192.168.0.0/16  --gateway=192.168.0.1 rosh_network

创建容器:

#创建容器
docker run -it  --network rosh_network --name alpine1  alpine
docker run -it  --network rosh_network --name alpine2  alpine

查看ip:



ping:

Dokcer 桥接模式原理解析相关推荐

  1. Publisher/Subscriber 订阅-发布模式原理解析

    Publisher/Subscriber 订阅-发布模式原理解析 参考资料 What Is Pub/Sub? Publish/Subscribe Messaging Explained 什么是serv ...

  2. 桥接模式(Bridge)解析例子

    桥接模式属于对象结构型模式,其意图是将抽象的部分和它的实现部分分离,使他们都可以独立的变化.当一个抽象可能有多个实现时,通常用继承来协调他们.抽象类的定义对该抽象的接口.而具体的子类则用不同的方式加以 ...

  3. 阿里分布式事务框架Seata,AT模式原理解析

    什么是分布式事务 如今在分布式技术盛行下,许多公司都已经在使用分布式技术了,虽然分布式技术给我们项目带来了三高(高可用,高扩展,高性能)等优点,但是缺点也很明显,分布式项目一般都是分服务开发,且多个服 ...

  4. flannel-vxlan模式原理解析

    前言 上一章介绍完flannel的udp模式后,接着来介绍一下vxlan模式,因为很多生产的K8S都正在使用这个模式,所以将会介绍得详细些. 在前面的章节中,我们介绍过配置linux vxlan完成跨 ...

  5. 工厂方法模式-原理解析-逐步构建-java实战

    Why? 为什么我们可以用简单粗暴的方式来完成产品经理给的需求,还要用 23种设计模式 中的工厂方法模式来重构代码呢? 这个问题在我刚入行的时候是不懂的,理解需求,完成代码,前后端联调,提交测试,业务 ...

  6. java订阅发布模式_Spring Boot ActiveMQ发布/订阅消息模式原理解析

    本文在<Spring Boot基于Active MQ实现整合JMS>的基础上,介绍如何使用ActiveMQ的发布/订阅消息模式.发布/订阅消息模式是消息发送者发送消息到主题(topic), ...

  7. 第 10 章 桥接模式

    第 10 章 桥接模式 1.手机操作问题 现在对不同手机类型.不同品牌的手机实现操作编程(比如:开机.关机.上网,打电话等) 2.传统方案解决手机问题 类图 传统方案解决手机操作问题分析 扩展性问题( ...

  8. 设计模式之桥接模式:如何实现抽象协议与不同实现的绑定?

    在上一讲中,我们学习了第一种结构型模式--适配器模式,它是在不改变目标类代码的情况下,通过引入适配器类来给目标类扩展功能.适配器模式在维护开发中经常会使用到,比如,常用在一些无法直接修改原有功能的旧系 ...

  9. 6、HIVE JDBC开发、UDF、体系结构、Thrift服务器、Driver、元数据库Metastore、数据库连接模式、单/多用户模式、远程服务模式、Hive技术原理解析、优化等(整理的笔记)

    目录: 5 HIVE开发 5.1 Hive JDBC开发 5.2 Hive UDF 6 Hive的体系结构 6.2 Thrift服务器 6.3 Driver 6.4 元数据库Metastore 6.5 ...

最新文章

  1. 函数依赖与 Armstrong公理
  2. Centos6部署lamp: httpd2.4+module模式
  3. java Runtime.getRuntime().exec 获取反弹shell
  4. 《精益软件度量——实践者的观察与思考》—第1章1.1节精益软件开发的度量体系...
  5. (转)iOS 6的Rotation--详细版本
  6. Php错误邮件提示linux,linux下phpmailer发送邮件出现SMTP ERROR: Failed to connect to server: (0)错误...
  7. 华为笔记本软件商店_华为应用市场 PC 端体验:干净好用 - 华为
  8. git clone 一部分_别再往 Git 仓库中放敏感信息了,不安全!
  9. C++——override
  10. optionMenu如何弹出
  11. 大话西游之仙侣履奇缘——[超经典台词]
  12. osgb转json_cesuim加载倾斜摄影OSGB三维数据
  13. 解决idea谷歌翻译插件不可用
  14. SSM项目实战之博客系统
  15. crypto661-rabin(网鼎杯2022-未完成)
  16. 解构企业实名认证的几大「名场面」
  17. APS高级计划排程系统,工厂各部门实施前后有哪些区别?
  18. 手把手教你撸个直播小程序
  19. 数据安全运营体系建设
  20. Linux下烧写工具DNW和USB驱动安装

热门文章

  1. Authentication
  2. Mac 高速下载百度云文件
  3. git reset --hard --soft 与 git revert 的作用
  4. FreeNAS在FC中的简答搭建
  5. Stacking 集成学习在多因子选股中的应用
  6. Flash AS入门教程:影片剪辑第一节创建影片剪辑
  7. OpenGL渲染管线介绍
  8. riscv 指令集与寄存器
  9. 2019年哪些手机值得期待?
  10. 独家 | 千亿交易额考验下的智慧物流