Docker 网络命令大全,建议收藏!

简介: 【7月更文挑战第22天】

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。

用法示例

  1. 将容器连接到默认网络:
docker network connect bridge container_name
  1. 将容器连接到指定网络:
docker network connect my_network container_name
  • 该命令允许将一个容器连接到一个已存在的网络中,使得容器可以与该网络上的其他容器进行通信。
  • 当容器连接到网络时,它将被分配一个IP地址,并且可以与网络上的其他容器进行通信。
  • 连接到网络后,容器可以访问网络上其他容器的服务,也可以被其他容器访问。
  • 容器连接到网络后,可能需要重启容器才能应用网络配置。
  • 如果网络不存在,可以使用 docker network create 命令创建网络。

Docker Network Create

docker network create 命令用于创建一个新的 Docker 网络。

语法

docker network create [OPTIONS] NETWORK

参数说明

  • NETWORK:要创建的网络的名称。

用法示例

  1. 创建一个默认的桥接网络:
docker network create my_bridge_network
  1. 创建一个自定义的 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。

用法示例

  1. 从默认桥接网络中断开容器:
docker network disconnect bridge container_name
  1. 从指定网络中断开容器:
docker network disconnect my_network container_name
  • 该命令允许将容器从一个已连接的网络中断开,使得容器不再能够与该网络上的其他容器进行通信。
  • 断开连接后,容器将失去与网络上其他容器的通信能力,但仍然可以与主机进行通信。
  • 断开连接后,容器可能需要重启才能应用新的网络配置。
  • 如果需要,断开连接后可以重新连接到网络。

Docker Network Inspect

docker network inspect 命令用于检查 Docker 网络的详细信息。

语法

docker network inspect [OPTIONS] NETWORK [NETWORK...]

参数说明

  • NETWORK:要检查的网络名称或ID。

用法示例

  1. 检查指定网络的详细信息:
docker network inspect my_network
  1. 检查多个网络的详细信息:
docker network inspect network1 network2
  • 该命令允许查看指定网络的配置和状态信息,包括网络的名称、ID、驱动程序、子网、网关、连接的容器等。
  • 可以同时指定多个网络进行检查。
  • 使用该命令需要指定网络的名称或ID。
  • 输出结果为 JSON 格式,可以使用 jq 等工具进行格式化或解析。

Docker Network LS

docker network ls 命令用于列出 Docker 中的网络。

语法

docker network ls [OPTIONS]

参数说明

  • 该命令没有特定的参数,但可以使用一些选项来过滤输出结果。

用法示例

  1. 列出所有网络:
docker network ls
  1. 仅列出特定驱动程序类型的网络:
docker network ls --filter driver=bridge
  • 该命令用于快速查看 Docker 中存在的所有网络,包括桥接网络、覆盖网络等。
  • 输出结果包含每个网络的名称、ID、驱动程序类型、创建时间等信息。
  • 使用该命令可以快速了解 Docker 中当前存在的网络情况。
  • 可以通过 --filter 选项来过滤输出结果,以便根据特定条件查找网络。

Docker Network Prune

docker network prune 命令用于清理未使用的 Docker 网络。

语法

docker network prune [OPTIONS]

参数说明

  • 该命令没有特定的参数,但可以使用一些选项来调整清理的行为。

用法示例

  1. 清理未使用的网络:
docker network prune
  1. 在清理之前显示将要删除的网络列表:
docker network prune --dry-run
  • 该命令用于删除未连接到任何容器的网络,以释放系统资源。
  • 在执行清理操作之前,建议使用 --dry-run 选项来查看将要删除的网络列表,以避免意外删除重要网络。
  • 清理操作是不可逆的,删除的网络无法恢复。
  • 建议在清理之前先确保没有需要保留的网络。

Docker Network RM

docker network rm 命令用于删除指定的 Docker 网络。

语法

docker network rm NETWORK [NETWORK...]

参数说明

  • NETWORK:要删除的网络名称或ID。

用法示例

  1. 删除单个网络:
docker network rm my_network
  1. 删除多个网络:
docker network rm network1 network2
  • 该命令用于删除指定的 Docker 网络,可以一次删除一个或多个网络。
  • 在删除网络之前,请确保网络中没有正在运行的容器连接到该网络,否则删除操作将失败。
  • 删除操作是不可逆的,删除的网络无法恢复。
  • 在删除网络之前,请确保网络不再需要,并且其中没有重要的数据。

总结

在这篇文章系列中,我们详细介绍了 Docker 中与网络相关的一系列命令,包括:

  1. docker network connect:将容器连接到一个网络中。
  2. docker network create:创建一个新的 Docker 网络。
  3. docker network disconnect:将容器从一个网络中断开连接。
  4. docker network inspect:检查 Docker 网络的详细信息。
  5. docker network ls:列出 Docker 中存在的网络。
  6. docker network prune:清理未使用的 Docker 网络。
  7. docker network rm:删除指定的 Docker 网络。
目录
相关文章
|
1月前
|
存储 Java Linux
【Docker】(2)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!
docker有着比VM更少的抽象层 由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源 因此在CPU、内存利用率上Docker将会在效率上有明显优势 docker利用的时宿主机的内核,而不需要加载操作系统OS内核 当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统内核 进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程时分钟级别的。 而Docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个Docker容器只需
348 124
|
2月前
|
Shell 开发工具 git
使用代理访问网络各项命令总结
工作中常需设置代理,容易导致环境混乱。本文总结了 SourceTree 无法拉取代码的问题,排查了环境变量、Git 全局配置及系统代理设置,最终通过清除 Git 代理配置解决。内容涵盖排查步骤、命令整理及脚本处理,帮助快速定位并解决代理相关网络问题。
174 2
|
4月前
|
安全 Unix Linux
Docker中授权普通用户使用docker命令以及解决无权限访问/var/run/docker.sock错误。
通过上述步骤,可以有效解决普通用户无法使用Docker命令的问题,同时处理 `/var/run/docker.sock`权限错误。这样的设置不仅方便用户使用Docker提供的各项服务,同时还能保护系统的安全性。在进行此类配置更改时,请确保理解每一步骤的作用及潜在的安全风险,尤其是在修改文件权限时。在实际的操作中,始终应该努力保持系统的最低必要权限,避免过度放宽权限,这是保障系统安全的一个重要方针。
1429 75
|
5月前
|
Docker 容器
Docker run命令-p参数详解
本文介绍Docker端口映射的基础用法。通过`docker run -p <宿主机端口>:<容器端口>`实现端口映射,例如`-p 5000:80`将宿主机5000端口映射到容器80端口,外部访问宿主机5000端口时流量会转发至容器内部的80端口。示例命令中,`-d`用于后台运行,`--restart=always`确保容器自动重启,`--name`指定容器名称。部署完成后可通过`http://服务器IP地址:5000`验证服务是否正常运行。
|
5月前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
1016 39
|
4月前
|
Docker 容器
熟悉Docker容器管理命令:start、stop与restart详细使用指南
掌握这些Docker容器管理命令对于维护应用程序的正常运行至关重要。在实际操作中,应注意容器配置、关联资源以及日志等信息,确保各项操作都能够顺畅并且安全地执行。
610 0
|
6月前
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
1111 30
|
6月前
|
Ubuntu Linux 开发者
常用的Docker命令:docker_cmd_sheet
以上就是一些常用的Docker命令,希望能帮助你更好地驾驭这个强大的工具。记住,Docker就像是一个魔法咒语,只有真正理解和熟练使用,才能发挥出它的最大魔力。
160 22
|
6月前
|
Shell 应用服务中间件 nginx
docker 镜像的部分常用命令
docker镜像常用命令
231 16