Docker笔记:一篇学会Docker网络知识
source link: https://www.51cto.com/article/719445.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Docker笔记:一篇学会Docker网络知识
今天给大家介绍docker的网络知识,欢迎大家互相交流学习!
1、docker网络介绍
当我们的服务器成功安装docker并启动进程后,就会产生一个docker0的虚拟网桥,本质为Linux网桥(默认为桥接模式),使用的通信技术是Veth-pair技术.
当我们每启动一个容器,docker就给对应容器分配一个eth0,并能够桥接到docker0网卡。这个时候可以把docker0看作为路由器,每个容器可以看作为连接路由器的网络设备,docker0用来管理每个容器的和docker0通信的映射关系。
查看网络信息;
ip addr
具体如下图:
lo:表示本地回环地址
dockers0:表示docker容器安装自动产生的docker0地址。
2、测试容器和宿主主机的通信
2.1 宿主主机可以ping通 docker0
ping 172.17.0.1
执行效果如下图
2.2 容器内部ping宿主主机也可以ping通
ping 192.168.0.116
2.3 dockers中nginx解决没有ping命令的问题
大家如果安装的nginx没有ping命令的话,可以采用下面的两条命令安装ping。
apt-get update #获取更新软件源
apt install iputils-ping #安装ping命令
2.4 容器之间也可以互相ping通
-- 获取docker所有容器的IP地址
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
nginxtest 容器内IP是 172.17.05
nginxtest02 容器内IP是 172.17.06
测试一下是否能够ping通
docker exec -it nginxtest /bin/bash
ping 172.17.0.6
docker exec -it nginxtest02 /bin/bash
ping 172.17.0.5
3、evth-pair技术简介
evth-pair就是一对虚拟设备接口,它们都是成对出现的,一端连着协议,一端彼此相连,所以可以通信。evth-pair可以充当一个桥梁。
4、Docker网络总结
Docker 使用的是Liunx的桥接原理,宿主机中是一个Docker容器的网桥 docker0。Docker 中所有的网络接口的是虚拟的,虚拟的转发效率高,
docker容器网桥的生成周期:docker容器删除,对应的一对网桥就没了。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK