没有合适的资源?快使用搜索试试~ 我知道了~
首页《阿里云偏架构运维指南》
《云计算之阿里云的偏架构运维》是一份关于云计算中偏架构运维的文件。文件中包含了一些偏架构运维的内容目录,内容涵盖了API网关、Docker Compose、Jenkins部署、docker网络原理、GitHub Pages建设、Hexo GitHub Actions博客搭建、Linux操作系统学习、Webpack编译原理、commitlint配置、前端安全性问题、前端架构工作、前端路由访问权限控制、单据架构数据字典配置、SSH使用、换行符不一致问题处理等方面的内容。 其中,API网关是微服务架构中重要的一环,实现了系统内高内聚,系统间松耦合的服务器,并具有动态路由、压力测试、负载均衡、流量控制、审查与监控等功能。然而,有些功能需要绕过网关,比如大文件上传,否则会造成不必要的网络传输和可能导致网络阻塞的问题。因此,文件中介绍了如何配置文件上传接口绕过网关的方式,例如通过Nginx进行直连配置来实现绕过API网关的路径。整个文件涵盖了云计算中偏架构运维的多方面内容,适合对云计算架构运维感兴趣的人阅读。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/88365183/bg10.jpg)
1.
2.
Docker | docker网络及原理探究
个人观点:Docker网络通信在容器编排、集群部署中具有举足轻重的地位,(玩docker不懂
docker0那就......玩不透哇)本篇分析Docker网络,并通过启动几个容器来探究Docker网络
及容器通信,帮助读者理解一下。
1、Docker0
Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通
了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。
Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互
通信,它还给出了 MTU(接口允许接收的最大传输单元),通常是 1500 Bytes,或宿主主机网络
路由上支持的默认值。这些值都可以在服务启动的时候进行配置。
2、清空所有镜像
如果是初学者,还不是很了解docker0的情况下,建议清空所有镜像,创造一个比较干净的容器网
络环境,更加清晰,有助于学习docker0
# 1.
docker ps
# 2. ()
docker stop [containerID]
# docker stop $(docker container ls -q)
# 3.
docker rmi -f $(docker images -aq)
# 4.
docker images
3、查看网卡信息
先了解一下 命令ip addr
ip addr
lo
# 127.0.0.1
eth0
# 172.31.81.32
docker0
# docker 172.17.0.1
获取当前网卡ip地址和mac地址
[root@--- ~]
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
qlen 1000
Docker | docker网络及原理探究
第 14 页 /共
108 页
![](https://csdnimg.cn/release/download_crawler_static/88365183/bg11.jpg)
/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00link
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group
default qlen 1000
/ether 00:16:3e:0a:00:34 brd ff:ff:ff:ff:ff:fflink
inet 172.31.81.32/20 brd 172.31.95.255 scope global dynamic eth0
valid_lft 291944112sec preferred_lft 291944112sec
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
group default
/ether 02:42:a4:2f:c5:62 brd ff:ff:ff:ff:ff:fflink
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
[root@--- ~]
#
下面通过docker启动几个容器来探究一下Docker网络
4、运行容器之后,再次查看网卡信息
安装Docker时,它会 三个网络,默认 网桥(创建容器默认连接到此网络)、 自动创建 bridge none
、host
4.1、运行 , , 容器mysql01 centos01 centos02
启动时,docker默认的bridge网桥,docker0给容器服务自动分配ip
docker run -it --name mysql01 -e MYSQL_ROOT_PASSWORD=123 mysql:5.7
docker run -it --name centos01 centos /bin/bash
docker run -it --name centos02 centos /bin/bash
4.2、查看ip、mac地址信息
可以看到上面启动的三个容器服务的 信息mac
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
qlen 1000
/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00link
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group
default qlen 1000
/ether 00:16:3e:0a:00:34 brd ff:ff:ff:ff:ff:fflink
inet 172.31.81.32/20 brd 172.31.95.255 scope global dynamic eth0
valid_lft 291916543sec preferred_lft 291916543sec
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group
default
/ether 02:42:a4:2f:c5:62 brd ff:ff:ff:ff:ff:fflink
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
Docker | docker网络及原理探究
第 15 页 /共
108 页
![](https://csdnimg.cn/release/download_crawler_static/88365183/bg12.jpg)
valid_lft forever preferred_lft forever
140: br-799426d70aa2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
state DOWN group default
/ether 02:42:7f:01:1d:00 brd ff:ff:ff:ff:ff:fflink
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-799426d70aa2
valid_lft forever preferred_lft forever
154: vethe3da564@if153: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
master docker0 state UP group default
/ether ea:84:fb:14:47:99 brd ff:ff:ff:ff:ff:ff link-netnsid 0link
156: veth6477da5@if155: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
master docker0 state UP group default
/ether 86:35:30:8d:14:85 brd ff:ff:ff:ff:ff:ff link-netnsid 1link
158: veth17b2712@if157: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
master docker0 state UP group default
/ether 72:76:f0:3c:17:e8 brd ff:ff:ff:ff:ff:ff link-netnsid 2link
4.3、查看docker网络
[root@--- ~]
# docker network ls
NETWORK ID NAME DRIVER SCOPE
feafa30d4051 bridge bridge local
e8bf4fced9e2 host host local
6263db0933b9 none null local
[root@--- ~]
#
4.4、查看默认bridge网桥(docker0)
[root@--- ~]
# docker network inspect feafa30d4051
[
{
: ,"Name" "bridge"
: ,"Id" "feafa30d4051f24353508959bd420fd163ad0c98d6b30ec8ff13b59a59552bb1"
: ,"Created" "2021-09-26T15:10:27.167774553+08:00"
: ,"Scope" "local"
: ,"Driver" "bridge"
: ,"EnableIPv6" false
: {"IPAM"
: ,"Driver" "default"
: null,"Options"
: ["Config"
{
: ,"Subnet" "172.17.0.0/16"
: "Gateway" "172.17.0.1"
}
]
},
: ,"Internal" false
: ,"Attachable" false
: ,"Ingress" false
: {"ConfigFrom"
: "Network" ""
},
: ,"ConfigOnly" false
Docker | docker网络及原理探究
第 16 页 /共
108 页
![](https://csdnimg.cn/release/download_crawler_static/88365183/bg13.jpg)
: {"Containers"
: {"29298987c51b777b546bf6626560020ce235e390e1d7fcfe188c6db228ca4edf"
: ,"Name" "mysql01"
: "EndpointID" "f6572c49234f74a6c0b652a379bb386f843ebd23b02abd59b1f6a
,9d1c9534b17"
: ,"MacAddress" "02:42:ac:11:00:02"
: , "IPv4Address" "172.17.0.2/16"
# IP
: "IPv6Address" ""
},
: {"cb1922b95b9316d129b54f3545fad9729092926e10a1d5517f8928db42706151"
: ,"Name" "centos01"
: "EndpointID" "ef6cfa74f56bfa4f49143aa08cf323812002236bc63f75204dee7
,c3ec1162250"
: ,"MacAddress" "02:42:ac:11:00:03"
: , "IPv4Address" "172.17.0.3/16"
# IP
: "IPv6Address" ""
},
: {"cc6f510b9765ba018dbafd416c9774ddf5fd3ff55fa992827f55516e8dc70b6a"
: ,"Name" "centos02"
: "EndpointID" "2f901aec8f8b455d1fb06112c9035a19f34cc597d8907f26f1b89
,6f12d7eb7ba"
: ,"MacAddress" "02:42:ac:11:00:04"
: , "IPv4Address" "172.17.0.4/16"
# IP
: "IPv6Address" ""
}
},
: {"Options"
: ,"com.docker.network.bridge.default_bridge" "true"
: ,"com.docker.network.bridge.enable_icc" "true"
: ,"com.docker.network.bridge.enable_ip_masquerade" "true"
: ,"com.docker.network.bridge.host_binding_ipv4" "0.0.0.0"
: ,"com.docker.network.bridge.name" "docker0"
: "com.docker.network.driver.mtu" "1500"
},
: {}"Labels"
}
]
4.5、测试容器通信
此时,进入 容器, mysql容器的 可以ping通,但是ping不通容器名 centos01 ping ip
docker -it cb1922b95b93 /bin/bashexec
ping 172.17.0.2
# docker0
ping mysql01
ping: mysql01: Name or service not known
docker run docker
Docker | docker网络及原理探究
第 17 页 /共
108 页
![](https://csdnimg.cn/release/download_crawler_static/88365183/bg14.jpg)
1.
2.
#ip
docker inspect ID | grep IPAddress
如下图
5、容器通信原理
只要我们安装了docker,就会有一个网卡docker0(相当于一个路由器),每启动一个
docker容器,docker都会给docker容器分配一个ip(连接路由器的终端,同一网段下终端可
以互相通信),
通过 技术实现, 就是一对 ,他们都是成对出现的,一端连evth-pair evth-pair
虚拟设备接口
着协议,一端彼此相连, 充当一个桥梁,连接各种虚拟网络设备。evth-pair
Docker网络使用的是 ,宿主机是docker容器的网桥,docker0,最多分配65535个Linux
删除容器之后,虚拟网卡就自动消失了。( )虚拟网卡传递效率高!
启动容器不设置网络,容器ip由docker0自动分配情况下,容器间的通信,要经过 技术evth-pair
实现, 。(跟计算机网络通信类似,分层模型,TCP/IP协议数据报封装解封装)并不是直连的
5.1、结论
tomcat01, 是共用的一个路由器,docker0tomcat02
所有的容器启动时,如果不指定网络的情况下,都是docker0路由的。65535
最后
上面 不支持容器名连接访问,容器通信只可以通过容器 通信,docker也无法保证容器重docker0 ip
启后的IP地址不变,所以更好的方式是 ,下篇继续讲解怎么通过别名进行容器通过别名进行互联
通信,。
欢迎大家评论交流, 蟹蟹
Docker | docker网络及原理探究
第 18 页 /共
108 页
剩余109页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
kbv516
- 粉丝: 0
- 资源: 35
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)