内容简介:原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!原文链接地址:上节主要学习了network-namespace,并创建了network-namespace,并把2个network-namespace连接在一起,我们也演示了创建一个容器test1和test2,其实在创建容器的同时也创建了对应的一个network-namespace,因为对应的一个容器他有自己的独立网络空间。test1通过exec ip a的方式查看对应的ip,和test2 通过exec ip a的方式查看对应的ip。他们之前是互相
原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址: 『中级篇』 Docker Bridge详解(26)
上节主要学习了network-namespace,并创建了network-namespace,并把2个network-namespace连接在一起,我们也演示了创建一个容器test1和test2,其实在创建容器的同时也创建了对应的一个network-namespace,因为对应的一个容器他有自己的独立网络空间。test1通过exec ip a的方式查看对应的ip,和test2 通过exec ip a的方式查看对应的ip。他们之前是互相可以ping通的。
到底 docker 的网络是如何配置的
sudo service docker restart sudo docker container start test1 sudo docker container start test2 sudo docker docker exec -it test1 /bin/sh ping www.baidu.com 复制代码
- 这里的代码紧接上一节,vagrant启动虚拟机docker-node1,通过docker-node1启动里面的容器test1 和test2,当进入test1容器,ping baidu发现可以ping通。这是什么原理呢,肯定是通过可以转接的方式,容器---虚拟机----宿主机--baidu。
为了更好的了解docker网络
- 停止test2,删除test2
sudo docker ps sudo docker stop test2 sudo docker rm test2 sudo docker ps 复制代码
- docker 网络
可以看到一个 ,这也是 linux 中常见的一种网络结构。桥接的形式
sudo docker network ls 复制代码
对于test1 来讲,他是通过bridge的方式
sudo docker inspect test1 复制代码
ip a 复制代码
这个机器有5个网路,除了lo,eth0,eth1,docker0,veth8765ce0@if5,上节课讲过veth其实是连接了2个networknamespace,veth8765ce0@if5是负责连接docker0上边的,容器test1里面也应该有个和veth连接的。
sudo docker exec test1 ip a 复制代码
eth0@if6 和外边的veth8765ce0@if5 其实是一对。
查看他们的关系
sudo yum install -y bridge-utils #安装后可以运行brctl这个命令了 brctl 复制代码
brctl show 复制代码
因为目前就一个test1的桥接,所以就显示一个。
sudo docker run -d --name test2 busybox /bin/sh -c "while true; do sleep 3600;done" brctl show sudo docker network inspect bridge ip a 复制代码
多创建了容器,其实多了一对veth,容器内多了veth,宿主内也增加了veth,其实就类似一个线,他们互相连接。
test1 和test2 之前通过docker0,docker0 类似test1和test2之前的路由器,docker0 在通过nat的eth0连接互联网
PS:主要理解容器之前如何的互相访问,容器和外边的世界如何通信。
以上所述就是小编给大家介绍的《『中级篇』 Docker Bridge详解(26)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Flutter 完整开发实战详解(十六、详解自定义布局实战)
- 数据结构 1 线性表详解 链表、 栈 、 队列 结合JAVA 详解
- 详解Openstack环境准备
- Java泛型详解
- iOS RunLoop 详解
- Raft协议详解
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。