当前位置: 首页 > news >正文

Docker容器技术实战3

8、docker原生网络

Docker原生网络基于Linux桥接技术和虚拟网络接口,使用了Linux内核的网络功能。每个Docker容器都有自己的网络命名空间,这使得容器之间可以使用独立的IP地址,并隔离了容器的网络栈。

当创建一个Docker原生网络时,Docker会在主机上创建一个Linux网桥(bridge),并将所有连接到该网络的容器连接到这个网桥上。每个容器都会分配一个唯一的IP地址,并可以通过该IP地址进行通信。此外,Docker还会为每个容器分配一个唯一的MAC地址,并通过一个虚拟网桥与主机网络相连

Docker原生网络可以使用不同的网络驱动程序,包括bridge、host、overlay等,以适应不同的场景需求。桥接网络(bridge network)是最常用的一种,它使得容器可以通过桥接连接到主机网络和其他容器。

查看原生网络

由于所有的容器都要桥接到docker0上,所以所有容器的数据包都要通过docker0向外发送,当容器数据包想要通过docker0对外发送时,要从eth0接口上走,因此内核的IP服务必须打开。

理解为一根网线,一头连接容器,一头连接本机

桥接模式可以允许数据包对外发送,但不可以外部主机直接访问

想让外部主机访问需要使用host网络模式(容器和宿主机共享同一网格线,不会新建虚拟网卡)

host网络模式,容器和宿主机共享一个网络栈,容器并没有创建新的虚拟网卡,同宿主机公用,因此其他主机想访问容器时,只需要访问它的接口地址就行

在server2上

注:当再运行一个容器时就会发生冲突

禁用网络模型

以上是三种原生网络

自定义网络

自定义网络地址段

当创建多个容器时,可以将它们连接到同一个Docker原生网络中,这样它们就可以通过IP地址进行互相访问。每个容器都会分配一个唯一的IP地址,并可以通过该IP地址进行通信。Docker会为每个容器自动添加DNS记录,以便容器名称之间的互相解析。所以多容器之间的互访是通过dns来进行访问,自定义网络内嵌了dns。

不同网络之间被隔离,默认不能通信;不同网络之间通信需要附加虚拟网卡。

再添加个虚拟网卡连接到不同的网段

9、docker容器通信

joined容器(两个容器共享一个网络栈)

在共享一个网络栈后,端口资源是唯一的

端口映射

双冗余机制

跨主机容器通信

两台虚拟机都各添加一块虚拟网卡,并重启

开启混杂模式并激活

server2上操作以此类推

要保证底层链路的正确,直接使用物理网卡,在创建macvlan的时候没有使用新建接口,不需要创建新的虚拟接口,直接使用eth1,也就是物理接口。

10、docker数据卷

在宿主机上修改数据相当于直接修改容器内的数据,因为当前宿主机的容器被直接挂载到容器内

清理所有数据卷,在清理前需要先删除容器,释放对数据卷的占用

创造数据卷

使用bind mount方式挂载数据卷

同时,在挂载时可以控制权限

共享卷

http://www.lryc.cn/news/217775.html

相关文章:

  • 数字处理-第10届蓝桥杯省赛Python真题精选
  • Go并发编程
  • Nignx及负载均衡动静分离
  • HDFS架构介绍
  • 微信小程序提示确认框 wx.showModal
  • 如何设置OBS虚拟摄像头给钉钉视频会议使用
  • SpringCloud 微服务全栈体系(十一)
  • 45基于matlab的ARIMA:AutoregressiveIntegratedMovingAverage model。
  • 2010年408计网
  • 初谈Linux-Linux环境搭建(阿里云免费服务器+xshell)
  • 如何利用AppScan扫描H5页面,进行安全测试?
  • Oracle数据库中的table@xyz是什么意思?
  • springboot常见网络相关错误及原因解析
  • 【C语言_线程pthread_互斥锁mutex_条件触发cond 之解析与示例 (开源)】.md updata:23/11/03
  • mongodb如何删除数据并释放空间
  • k8s之集群调度
  • 代码随想录算法训练营第四十二天丨 动态规划part05
  • [css] flex 子元素自动撑开父元素宽度
  • 全新干货!一招教你迅速提升流量主收入!包你轻松月入过万
  • 连接两个dataframe
  • 【入门Flink】- 05Flink运行时架构以及一些核心概念
  • 网络协议的基本概念
  • 广汽传祺E9上市,3DCAT实时云渲染助力线上3D高清看车体验
  • resource manager attributes structure(iofunc_attr_t) 扩展实例
  • 劳易测扫码条码分段读取实现方法
  • 【Linux】Nignx及负载均衡动静分离
  • AI:50-基于深度学习的柑橘类水果分类
  • mysql 中!= 到底走不走索引?
  • 4 sql语法基础
  • 网络工程师应知应会:基础知识(5)