Skip to content

Docker 网络(Network)

Docker Network 是用于 Docker 容器之间的通信的机制。

docker network

bash
用法: docker network COMMAND

管理网络

命令:
connect     将容器连接到网络
            语法: docker network connect [OPTIONS] NETWORK CONTAINER
            示例:
              - docker network connect my-network my-container  # 将容器连接到指定网络

create      创建网络
            语法: docker network create [OPTIONS] NETWORK
            示例:
              - docker network create my-network  # 创建一个新的网络
              - docker network create --driver bridge my-bridge-network  # 创建一个桥接网络

disconnect  将容器从网络断开
            语法: docker network disconnect [OPTIONS] NETWORK CONTAINER
            示例:
              - docker network disconnect my-network my-container  # 将容器从指定网络断开

inspect     显示一个或多个网络的详细信息
            语法: docker network inspect [OPTIONS] NETWORK [NETWORK...]
            示例:
              - docker network inspect my-network  # 查看网络的详细信息

ls          列出网络
            语法: docker network ls [OPTIONS]
            示例:
              - docker network ls  # 列出所有网络
              - docker network ls --filter driver=bridge  # 列出所有桥接网络

prune       删除未使用的网络
            语法: docker network prune [OPTIONS]
            示例:
              - docker network prune -f  # 强制删除未使用的网络

rm          删除一个或多个网络
            语法: docker network rm [OPTIONS] NETWORK [NETWORK...]
            示例:
              - docker network rm my-network  # 删除指定网络

bride / host / none

  • bridge 网络是默认网络,它在 Docker 安装时自动创建。当容器在该网络上运行时,它们会被分配一个 IP 地址,可以通过容器名称或 IP 地址进行访问。此外,容器之间也可以相互访问。

  • host 网络允许容器与主机共享网络命名空间,这意味着容器使用主机上的 IP 地址,并且不会分配自己的 IP 地址。这使得容器可以直接与主机进行通信,而无需进行端口映射。但是,此网络无法让容器之间相互访问。

  • none 网络表示容器没有连接到任何网络。在这种情况下,容器必须使用 --network 标志显式指定网络。这通常用于某些特定的应用场景,例如在不希望容器访问外部网络的情况下使用。

基于 MIT 许可发布