【Docker】网络
容器的网络默认与宿主机及其他容器都相互隔离, 但同时也要考虑下面的一些
问题, 比如
• 多个容器之间是如何通信的
•容器和宿主机是如何通信的
• 容器和外界主机是如何通信的
• 容器中要运行一些网络应用(如 nginx、web 应用、数据库等),如果要让外部也可
以访问这些容器内运行的网络应用应该如何实现
•容器不想让它的网络与宿主机、与其他容器隔离应该如何实现
• 容器根本不需要网络的时候应该如何实现
• 容器需要更高的定制化网络(如定制特殊的集群网络、定制容器间的局域网)应
该如何实现
上述的这些问题都需要对容器的网络进行合理的管理才能解决,这就体现出了容
器网络管理的重要性
【常见网络类型】
【bridge 网络(默认)】
在宿主机上创建一个 Linux 网桥, 网桥上的容器可以相互通信, 也可以通过 bridge 驱动程序配置,实现对外部容器的访问
在一台主机上有多个容器需要通信时, 所使用的网络
【host 网络】
容器直接用宿主机的网络
【container 网络】
容器直接用另一个容器的网络
【none网络】
不进行任何容器, 自我隔离
【overlay网络】
叠加网络, 在一个大网络下组织起来的小型网络, 可以精准地划分一个子类的局域网
【docker 网络管理命令】
【创建自定义网络】
语法: docker network create [OPTIONS] NETWORK
关键参数:
○ -d, --driver:网络驱动
○ --gateway:网关地址
○ --subnet:表示网段的 CIDR 格式的子网
○ --ipv6:启用 ipv6

【查看网络详情】
语法: docker network inspect [OPTIONS] NETWORK [NETWORK...]
关键参数
○ -f,--format:指定格式

【将容器连接到网络】
将容器连接到网络。可以按名称或 ID 连接容器。 一旦连接,容器可以与同一网络中的其他容器通信
语法: docker network connect [OPTIONS] NETWORK CONTAINER
关键参数
○ --ip:指定 IP 地址
○ --ip6:指定 IPv6 地址
【断开网络】
语法: docker network disconnect [OPTIONS] NETWORK CONTAINER
关键参数
○ -f:强制退出
【删除所有不使用的网络】
语法: docker network prune [OPTIONS]
关键参数
○ -f, --force :不提示

【删除 1 个或者多个网络】
语法: docker network rm NETWORK [NETWORK...]
关键参数
○ -f:强制退出
【列出网络】
语法: docker network ls [OPTIONS]关键参数
○ -f, --filter:指定过滤条件
○ --format:指定格式
○ --no-trunc:不截断
○ -q, --quiet :仅仅显示 id