赞
踩
容器的网络默认与宿主机、与其他容器相互隔离,且容器中可以运行一些网络应用,比如nginx、web应用、数据库等,如果需要让外部也可以访问这些容器中运行的网络应用,那么就需要配置网络来实现。
同样的,不同需求下,容器与宿主机的通信有不同的业务状态这时候就需要容器网络管理以达成管理不同业务下相关的网络配置。
bridge network(网桥)模式:默认的网络模式,类似虚拟机的nat模式
host network(主机)模式:容器与宿主机之间的网络无隔离,即容器直接使用宿主机网络
none network模式:容器禁用所有网络
overlay network(覆盖)模式:利用vxlan实现的bridge模式
macvlan network模式:容器具备MAC地址,使其在外部看来是一台真实的网络设备
命令格式: docker network ls [参数]
常用参数:
-q 只显示网络对象的ID
复制
注意: docker安装之后,会自动创建bridge、host、none三种网络驱动。
命令格式:docker network create [参数] 网络
常用参数:
- -d 指定网络的驱动,不指定默认为bridge
- -- subnet 指定子网网段(192.168.0.0/16)
- -- ip-range 指定容器的IP范围
- -- gateway 子网的网
复制
注意:
删除一个或多个网络
命令格式:docker network rm 网络[网络..]
命令格式:
docker network inspect [参数] 网络
docker inspect [参数] 网络
常用参数:
-f 根据format输出结果
复制
命令格式:docker run/create --network 网络
注意:默认情况下,docker创建或启动容器时,会默认使用名为bridge的网络
命令格式:
docker network connect/disconnect [参数] 网络 容器
常用参数:
-f 强制断开连接
复制
bridge原理示意图
端口映射的命令格式:docker run/create -P/-p
命令参数:
- -P 将容器内部所有暴露端口进行随机映射
- -p 手动指定端口映射 (-p [宿主机IP] : [宿主机端口] : 容器端口)
复制
关于-p参数的举例:
- -p ::80 将容器的80端口随机映射到宿主机的随机IP上
- -p :8000:6379 将容器的6379端口映射到宿主机的任意IP的8000端口上
复制
host网络模式的特点:
host网络模式示意图
除了普通的host网络模式外,同样还有特殊版本的host网络模式(container网络模式)。
container网络模式的特点:
其实就是容器共享其他容器的网络,相当于该容器,在网络层面上,将其他容器作为“主机”。它们之间的网络没有隔离。
container网络模式
container网络模式的使用:
docker run/create --network container:容器
none网络模式的特点:
overlay网络模式的特点:
macvlan网络模式的特点:
这次文章主要复习了docker的网络管理的内容,其中host,bridge,container是主要的复习内容,且在三种网络模式中建议优先选用host网络模式,其使用性能最优。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。