| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 系统运维 -> Docker 网络 -> 正文阅读 |
|
|
[系统运维]Docker 网络 |
|
docker 中的网络一个核心是 Docker0 网络,首先将所有的镜像和容器移除掉,清空所有的环境;使用ip addr 查看ip 地址:可以发现好几个网络,思考一个问题,docker 如何处理容器的网络访问问题的呢:
?查看容器内部网络地址:
思考一个问题:容器外部可以ping 通容器内部吗?其实Linux 可以ping 通docker 容器:
原理:我们每启动一个docker 容器,docker 就会给docker 容器分配一个ip,我们只要安装了docker,就会有一个网卡docker0,属于桥接模式,使用的技术是evth-pair 技术,再次进行测试,也即在linux 主机上输入ip addr ,再启动一个tomcat 输入ip addr 试一下,可以发现又多了一对网卡:
我们发现这个容器的带来的网卡是一对一对的,evth-pair 就是一对的虚拟设备接口,他们都是成对出现的,一段连着协议,一段彼此相连,?正因为这个特性,evth-pair 充当一个桥梁,因为正常来说linux 是ping 不同docker 里面的容器,在linux 与容器两端都对接了一个接口,接口通过协议就可以通信了,evth-pair 可以连接各种虚拟网络设备,我们来测试一下tomcat01 和 tomcat02能否ping 通:
?容器与容器之间是如何ping 通的呢?可以对照下图进行理解:
结论:tomcat01 和 tomcat02 公用一个路由器,所有的容器不指定网络的情况下,都是docker0 路由的,docker 会给我们的容器分配一个默认的可用ip:
docker 使用的是linux 的桥接,宿主机中是一个docker 容器的网桥:docker0,docker 中所有的网络接口都是虚拟的,虚拟的转发效率高(内网传递文件),只要容器删除,对应的一对网桥就没了;思考一个场景,我们编写了一个微服务,database url = ip;项目不重启数据库ip 换掉了,我们希望可以处理这个问题,可以通过名字来访问容器;
使用docker network 命令:
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/30 6:43:39- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |