首页 > 解决方案 > docker 中有关用户指定子网的错误消息

问题描述

我正在尝试使用该--ip标志为容器分配 IP。但我收到以下消息:

Error response from daemon: user specified IP address is supported only when connecting to networks with user configured subnets.

这条消息是什么意思?如何让容器运行?

网络是使用以下命令创建的: docker network create my_network_name

容器被调用: docker run -it --net my_network_name --ip 172.22.0.30 image_name

标签: dockerdocker-networking

解决方案


创建网络时,请从您的网络中免费的私有 IP 范围提供一个子网。然后,当您在此网络中创建容器时,从该子网中选择一个地址。

例如,IP 范围 10.11.0.0/16 和容器 IP 10.11.0.10:

$ docker network create my_network_name --subnet=10.11.0.0/16
$ docker run -it --net my_network_name --ip 10.11.0.10 image_name

这是一个实际的运行:

$ docker --version
Docker version 19.03.6, build 369ce74a3c
$ uname -a
Linux 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
$ docker network create my_network_name --subnet=10.11.0.0/16
35a9e4e5fb4ff243202fc4f6b687901c3cbfcd8fe34e06290db5d257310417a2
$ docker run --rm -it --net my_network_name --ip 10.11.0.10 ubuntu
root@f0d283bc5023:/#

在另一个窗口上:

$ docker network inspect my_network_name
[
    {
        "Name": "my_network_name",
        "Id": "35a9e4e5fb4ff243202fc4f6b687901c3cbfcd8fe34e06290db5d257310417a2",
        "Created": "2020-09-19T11:51:59.985580503-07:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "10.11.0.0/16"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "f0d283bc5023fbe8a1c854fd2bb5bdd121be7245013cfac62d9933f95ace7bbf": {
                "Name": "sleepy_colden",
                "EndpointID": "088fbd64b82e05920fda91b28ebb5b4a14c9fca3ac9fde457c8819663f6049df",
                "MacAddress": "02:42:0a:0b:00:0a",
                "IPv4Address": "10.11.0.10/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]


推荐阅读