标签:ash root create image creat 技术分享 网络 网络工具 proc
Libnetwork官方示例我们初步了解了libnetwork中各个组件和驱动后,为了能深入的理解libnetwork中的CNM模型和熟悉docker network子命令的使用,我们来通过libnetwork官方github上的示例进行验证一下,如下图所示:
在上图示例中,使用Docker 默认的bridge驱动进行演示。在此例中,会在Docker上组成一个网络拓扑的应用:
它有两个网络,其中backend network为后端网络,frontend network则为前端网络,两个网络互不联通。(这两个网络呆会儿演示的时候会创建出来)
其中容器1和容器3各拥有一个端点,并且分别加入后端网络(backend network)和前端网络(frontend network)中。而容器2则有两个端点,它们分别加入到后端网络和前端网络。
docker network create backend
docker network create frontend
root@centos-mysql01:~# docker network ls
NETWORK ID NAME DRIVER SCOPE
4bb7db8603b3 backend bridge local
89eecd0d67f8 bridge bridge local
4f90775dde19 frontend bridge local
68a185af2068 host host local
7121b3b8e5e9 none null local
除了刚才创建的backend和frontend之外,还有3个网络。这3个网络是Docker daemon默认创建的,分别使用了3种不同的驱动,而这3种驱动则对应了Docker原来的3种网络模式。需要注意的是,3种内置的默认网络是无法使用docker network rm进行删除的,不信你们试一下。
docker run -itd --name c3 --net backend centos
docker run -itd --name c2 --net backend centos
docker run -itd --name c1 --net frontend centos
然后,分别进入c1和c3容器使用ping命令测试其与c2的连通性,因为c2和c3都在backend网络中,所以两者可以连通。但是,因为c2和c1不在一个网络中,所以两个容器之间不能连通:
# yum install -y net-tools #安装网络工具包
# ping c1 #处于frontend 不通
# ping c2 #处于backend 通
# ping c3 #处于backend 通
# docker network connect backend c1
发现现在ip地址是通的了
标签:ash root create image creat 技术分享 网络 网络工具 proc
原文地址:http://blog.51cto.com/9025736/2328375