1.查看本地网络类型
docker network ls
none:无网络模式
bridge:不指定网络驱动时默认创建的为bridge网络 ,相当于NAT
host: 公用宿主机network namespce
container:与其他容器公用的network namespcae
测试使用各种网络类型:
docker run network=xxx
1.bridge
隔离性高
内网容器互联,宿主机容器互联,无法跨主机互联
启动2个centos ,互相ping
docker run -it --name=“c_bridge1” --network=bridge centos:6.9 /bin/bash
docker run -it --name=“c_bridge2” --network=bridge centos:6.9 /bin/bash
安装pingmingl
docker install iproute*
查看2个容器的网段
ifconfig
从02ping03进行测试---》可以ping通
ping 172.17.0.3
从本地ping 02,03---》可以ping通
2.host
只隔离部分资源,不隔离网络资源,
容器和宿主机共用网络服务,容器内启动的服务占用宿主机端口,
docker run -it --name=“c_host1” --network=host centos:6.9 /bin/bash
容器的ip地址,端口等和主机一致
3.container(用于k8s中)
容器和容器间共用namespace,共用网络
docker run -it --name=“c_container1” --network=container centos:6.9 /bin/bash
4.none
无网络模式
docker run -it --name=“c_none” --network=none centos:6.9 /bin/bash
Commands:
connect Connect a container to a network
connect: 将一个容器加入到一个网络中. 示例: docker network connect 网络名称 容器 ID
create Create a network
create: 创建一个网络 示例: docker network create test-create
disconnect Disconnect a container from a network
disconnect: 与 connect 刚好相反, 从网络中断开一个容器的链接. 示例: docker network disconnect 网络名称 容器 ID ps: -f 参数强制删除
inspect Display detailed information on one or more networks
inspect: 查看一个网络的详情 示例: docker network inspect test-create
ls List networks
ls: 查看网络列表 示例: docker network ls
prune Remove all unused networks
prune: 删除所有未使用的网络. 示例: docker network prune ps: -f 强制删除,不提供任何确认情况下删除.
rm Remove one or more networks
rm: 删除一个网络. 示例 docker rm test-create ps: 如果网络中有容器连接需要加 -f 参数强制删除,建议不要这样执行,网络中若没有任何容器连接直接执行删除即可.