Docker四种网络模式演示及连通性测试
在了解Docker四种网络模式之前,需要先了解Docker的网络基础知识。
Docker网络基础知识
Docker 的网络分为以下两大类:
1. bridge(网桥)模式:Docker默认采用这种模式,但默认情况下容器之间并无连通关系,需要手动创建容器并连接。
2. host(主机)模式:Docker使用宿主机的网络,容器与宿主机共享IP地址。
Docker的网络模式有四种:
1. bridge(桥接)模式: 通过在容器和Docker宿主机之间创建一个虚拟桥接接口来进行网络通信。
2. host(主机)模式: 自动使用主机的网络stack并将容器的IP设置为主机的IP。容器直接使用宿主机的网络。
3. none(独立)模式: 网络完全隔离,容器内没有网络接口,只有localhost。
4. container(容器)模式: 在两个容器之间创建共享的网络命名空间,两个容器之间直接可以通过localhost相互访问。
Docker四种网络模式演示
示例一:bridge模式
首先需要创建两个容器,分别为server和client:
$ docker run -itd --name=server busybox /bin/sh
$ docker run -itd --name=client busybox /bin/sh
然后将这两个容器连接在一起:
$ docker network create bridge_net
$ docker network connect bridge_net server
$ docker network connect bridge_net client
在server容器中启动一个http服务:
$ docker exec -it server httpd -p 80
然后在client中使用curl命令访问http服务:
$ docker exec -it client curl http://server:80
如果能够正常访问,说明bridge模式搭建成功。
示例二:host模式
继续使用上面的两个容器,将server容器启动一个http服务:
$ docker exec -it server httpd -p 80
在client容器中使用curl命令访问http服务:
$ docker exec -it --net=host client curl http://localhost:80
如果能够正常访问,说明host模式搭建成功。
连通性测试
对于上面的两种模式均可使用如下命令进行连通性测试:
$ docker exec -it client ping server
如果能够ping通,说明容器之间是互通的。
总结
Docker的网络模式有四种,使用不同的网络模式可以满足不同的需求。需要注意的是,不同网络模式下容器之间的访问方式也会有所不同,建议根据具体场景选择适合的网络模式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker四种网络模式演示及连通性测试 - Python技术站