📜  显示 docker 网络 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:19.839000             🧑  作者: Mango

显示 Docker 网络

Docker 网络是 Docker 中一个非常重要的概念,它可以让不同的 Docker 容器之间可以通信,也可以让宿主机和 Docker 容器之间进行通信。本篇文章将介绍如何在 Shell Bash 中显示 Docker 网络。

步骤

以下是显示 Docker 网络的步骤:

  1. 打开终端并运行以下命令:

    docker network ls
    

    这将显示当前 Docker 实例中的所有网络,输出类似下面的内容:

    NETWORK ID          NAME                DRIVER              SCOPE
    984f867b713c        bridge              bridge              local
    b85c07480a2f        host                host                local
    6dac03554dbb        none                null                local
    
  2. 在输出中,每一行表示一个 Docker 网络,其中包括网络 ID、网络名称、驱动程序和范围。

    • 网络 ID 是一个唯一的标识符,用于引用网络。
    • 网络名称是用户定义的名称,用于识别网络。
    • 驱动程序是 Docker 使用的网络驱动程序。
    • 范围指定了网络是在单个 Docker 主机上本地存在还是在多个 Docker 主机上全局存在。
  3. 如果要查看特定网络的详细信息,请运行以下命令:

    docker network inspect <NETWORK>
    

    其中,<NETWORK> 是要查看详细信息的网络的名称或 ID。

    该命令将输出选定网络的详细信息,包括网络 ID、名称、驱动程序、范围、容器列表和网络配置。

    [
        {
            "Name": "bridge",
            "Id": "984f867b713cf13794726f869a1c9b62bd8c180c85a2aa0f1a7c122a943944c6",
            "Created": "2021-09-04T23:16:19.100598144Z",
            "Scope": "local",
            "Driver": "bridge",
            "EnableIPv6": false,
            "IPAM": {
                "Driver": "default",
                "Options": null,
                "Config": [
                    {
                        "Subnet": "172.17.0.0/16",
                        "Gateway": "172.17.0.1"
                    }
                ]
            },
            "Internal": false,
            "Attachable": false,
            "Ingress": false,
            "ConfigFrom": {
                "Network": ""
            },
            "ConfigOnly": false,
            "Containers": {
                "b51cb733d1a57b1e16e9c4508d3f011cec47df0b48fe01a1e73869098004b3fc": {
                    "Name": "redis",
                    "EndpointID": "d2b96c61b3492e793d67e8a65d9f9c8745f5c89f220b5de86adbadc772149324",
                    "MacAddress": "02:42:ac:11:00:02",
                    "IPv4Address": "172.17.0.2/16",
                    "IPv6Address": ""
                }
            },
            "Options": {
                "com.docker.network.bridge.default_bridge": "true",
                "com.docker.network.bridge.enable_icc": "true",
                "com.docker.network.bridge.enable_ip_masquerade": "true",
                "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
                "com.docker.network.bridge.name": "docker0",
                "com.docker.network.driver.mtu": "1500"
            },
            "Labels": {}
        }
    ]
    

    该命令返回的详细信息包括网络的名称,ID,创建时间,范围,驱动程序和 IPAM(IP 地址管理)配置。容器列表包括在该网络中运行的所有容器的名称、MAC 地址和 IP 地址。

    **注意**:以上命令需要在运行 Docker 的主机上使用。如果您想要在远程机器上查看 Docker 网络,请安装 Docker 引擎并使用 SSH 连接到远程机器。

结论

在 Shell Bash 中显示 Docker 网络是很容易的事情。您只需要运行 docker network ls 命令即可显示所有网络的简单列表,并通过运行 docker network inspect 命令查看特定网络的详细信息。这些命令可以帮助您更好地了解 Docker 网络并帮助您进行调试和故障排除。