为什么 docker 为所有容器提供不同范围的 IP 地址以及如何将其设置为默认值?

Why docker provide a different range of IP address for all containers and How can I make it default?

我在创建 docker 容器时获得了不同范围的 IP 地址。

Docker版本:18.06

Ubuntu: 16.04

Docker 为所有容器提供默认 IP 地址。

default IP address range 172.17.0.1/16

但这次它提供了不同范围的 IP 地址 (168.92.x.x)。

问题:为什么 docker 为所有容器提供不同范围的 IP 地址,如何将其设置为默认值?

我找到了解决方案。

但我不知道为什么会这样(Docker assign different Range of IP address to all containers)

当我们创建一个 Docker 容器时,它正在创建一个新的 projectName_default 网络。

在这个网络中定义了这样的数据:

ubuntu@pro_staging:~> sudo docker network ls
NETWORK ID          NAME                 DRIVER              SCOPE
fb1861a4afc0        projecName_default   bridge              local
e60b761f9aa9        bridge               bridge              local
0ab8ff5w5f2d        host                 host                local
a4e689dc9dcb        none                 null                local
ubuntu@pro_staging:~> sudo docker inspect projecName_default
[
    {
        "Name": "projecName_default",
        "Id": "fb1861a4ac4059f6abea25b49c331390d651fdsdde24e15a848507723c2e4cd4f",
        "Created": "2018-11-02T11:15:37.136315048Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.20.0.0/16",
                    "Gateway": "172.20.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "87855a403d18df21910d6fd6d0132328d09a954800200e46ad35fa325fb42897f": {
                "Name": "projecName_default_containr1",
                "EndpointID": "a55d85fb759d997957fdd15eddba28e1598176d7c5bdb9e2d42fd1967f7f763b",
                "MacAddress": "02:42:ac:14:00:03",
                "IPv4Address": "172.20.0.3/16",
                "IPv6Address": ""
            },
            "9b0d45d8310e9877de147b89dd74c7dfb2d55a1660c7ab664f3e831d100eee0f": {
                "Name": "projecName_default_containr_2",
                "EndpointID": "68ba68e2c4bb3a7a8861b1fa2d43edecbfc0d29586c8169361bb47e94c37d460",
                "MacAddress": "02:42:ac:14:00:04",
                "IPv4Address": "172.20.0.4/16",
                "IPv6Address": ""
            },
            "edf3bf11199dba6b7ada6105773341baca4790ff713d40988ffbe54cd73a638d": {
                "Name": "projecName_default_containr_3",
                "EndpointID": "62d17e5b7f1909d60aa4c79fccb276f5a50f84d79b9da8d6f6bf5c7f54cb313f",
                "MacAddress": "02:42:ac:14:00:02",
                "IPv4Address": "172.20.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

解法:

# Remove default network 
ubuntu@pro_staging:~> sudo docker network rm projecName_default
#Restart docker
ubuntu@pro_staging:~> sudo systemctl restart docker
#After restart docker create container again.