Docker 是一个开源的应用容器引擎,可以轻松地为应用程序创建、部署和运行容器化的应用。在 Docker 中,网络是一个重要的概念,因为它允许容器之间进行通信,以及与外部世界进行通信。Docker 提供了一系列网络命令,用于管理 Docker 网络。本系列文章将逐一介绍这些命令
-
docker network connect
-
docker network create
-
docker network disconnect
-
docker network inspect
-
docker network ls
-
docker network prune
-
docker network rm

Docker Network Connect
docker network connect
命令用于将一个容器连接到一个网络中。
语法
docker network connect [OPTIONS] NETWORK CONTAINER
参数说明
-
NETWORK
:要连接的网络名称或ID。 -
CONTAINER
:要连接到网络的容器名称或ID。
用法示例
-
将容器连接到默认网络:
docker network connect bridge container_name
-
将容器连接到指定网络:
docker network connect my_network container_name
-
该命令允许将一个容器连接到一个已存在的网络中,使得容器可以与该网络上的其他容器进行通信。 -
当容器连接到网络时,它将被分配一个IP地址,并且可以与网络上的其他容器进行通信。 -
连接到网络后,容器可以访问网络上其他容器的服务,也可以被其他容器访问。 -
容器连接到网络后,可能需要重启容器才能应用网络配置。 -
如果网络不存在,可以使用 docker network create
命令创建网络。
Docker Network Create
docker network create
命令用于创建一个新的 Docker 网络。
语法
docker network create [OPTIONS] NETWORK
参数说明
-
NETWORK
:要创建的网络的名称。
用法示例
-
创建一个默认的桥接网络:
docker network create my_bridge_network
-
创建一个自定义的 overlay 网络:
docker network create --driver overlay my_overlay_network
-
该命令允许创建不同类型的网络,包括桥接网络、覆盖网络等。 -
默认情况下, docker network create
命令创建的是桥接网络,但可以通过指定--driver
选项来创建其他类型的网络。 -
创建网络时可以指定其他选项,例如子网、网关、IP范围等。 -
桥接网络是默认的网络类型,适用于单个主机上的容器通信。 -
覆盖网络适用于跨多个 Docker 主机的容器通信,可以使用 Swarm 模式来管理覆盖网络。
Docker Network Disconnect
docker network disconnect
命令用于将容器从一个网络中断开连接。
语法
docker network disconnect [OPTIONS] NETWORK CONTAINER
参数说明
-
NETWORK
:要断开连接的网络名称或ID。 -
CONTAINER
:要断开连接的容器名称或ID。
用法示例
-
从默认桥接网络中断开容器:
docker network disconnect bridge container_name
-
从指定网络中断开容器:
docker network disconnect my_network container_name
-
该命令允许将容器从一个已连接的网络中断开,使得容器不再能够与该网络上的其他容器进行通信。 -
断开连接后,容器将失去与网络上其他容器的通信能力,但仍然可以与主机进行通信。 -
断开连接后,容器可能需要重启才能应用新的网络配置。 -
如果需要,断开连接后可以重新连接到网络。
Docker Network Inspect
docker network inspect
命令用于检查 Docker 网络的详细信息。
语法
docker network inspect [OPTIONS] NETWORK [NETWORK...]
参数说明
-
NETWORK
:要检查的网络名称或ID。
用法示例
-
检查指定网络的详细信息:
docker network inspect my_network
-
检查多个网络的详细信息:
docker network inspect network1 network2
-
该命令允许查看指定网络的配置和状态信息,包括网络的名称、ID、驱动程序、子网、网关、连接的容器等。 -
可以同时指定多个网络进行检查。 -
使用该命令需要指定网络的名称或ID。 -
输出结果为 JSON 格式,可以使用 jq
等工具进行格式化或解析。
Docker Network LS
docker network ls
命令用于列出 Docker 中的网络。
语法
docker network ls [OPTIONS]
参数说明
-
该命令没有特定的参数,但可以使用一些选项来过滤输出结果。
用法示例
-
列出所有网络:
docker network ls
-
仅列出特定驱动程序类型的网络:
docker network ls --filter driver=bridge
-
该命令用于快速查看 Docker 中存在的所有网络,包括桥接网络、覆盖网络等。 -
输出结果包含每个网络的名称、ID、驱动程序类型、创建时间等信息。 -
使用该命令可以快速了解 Docker 中当前存在的网络情况。 -
可以通过 --filter
选项来过滤输出结果,以便根据特定条件查找网络。
Docker Network Prune
docker network prune
命令用于清理未使用的 Docker 网络。
语法
docker network prune [OPTIONS]
参数说明
-
该命令没有特定的参数,但可以使用一些选项来调整清理的行为。
用法示例
-
清理未使用的网络:
docker network prune
-
在清理之前显示将要删除的网络列表:
docker network prune --dry-run
-
该命令用于删除未连接到任何容器的网络,以释放系统资源。 -
在执行清理操作之前,建议使用 --dry-run
选项来查看将要删除的网络列表,以避免意外删除重要网络。 -
清理操作是不可逆的,删除的网络无法恢复。 -
建议在清理之前先确保没有需要保留的网络。
Docker Network RM
docker network rm
命令用于删除指定的 Docker 网络。
语法
docker network rm NETWORK [NETWORK...]
参数说明
-
NETWORK
:要删除的网络名称或ID。
用法示例
-
删除单个网络:
docker network rm my_network
-
删除多个网络:
docker network rm network1 network2
-
该命令用于删除指定的 Docker 网络,可以一次删除一个或多个网络。 -
在删除网络之前,请确保网络中没有正在运行的容器连接到该网络,否则删除操作将失败。 -
删除操作是不可逆的,删除的网络无法恢复。 -
在删除网络之前,请确保网络不再需要,并且其中没有重要的数据。
总结
在这篇文章系列中,我们详细介绍了 Docker 中与网络相关的一系列命令,包括:
-
docker network connect
:将容器连接到一个网络中。 -
docker network create
:创建一个新的 Docker 网络。 -
docker network disconnect
:将容器从一个网络中断开连接。 -
docker network inspect
:检查 Docker 网络的详细信息。 -
docker network ls
:列出 Docker 中存在的网络。 -
docker network prune
:清理未使用的 Docker 网络。 -
docker network rm
:删除指定的 Docker 网络。
原文始发于微信公众号(运维漫谈):Docker 网络命令大全,建议收藏!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/289167.html