docker 无法识别默认地址池

default-address-pools is not recognized by docker

我正在尝试配置 docker-compose 默认使用不同的网络范围,所以我按照 https://github.com/moby/moby/pull/29376

的说明进行操作

但是,我收到以下错误:

unable to configure the Docker docker daemon with file /etc/docker/daemon.json: the following directives don't match any configuration option: default-address-pools

这是 daemon.json 的内容 - 它是从 #29376 中提取的示例。

{
  "default-address-pools": [
    {
      "scope": "local",
      "base": "172.80.0.0/16",
      "size": 24
    },
    {
      "scope": "global",
      "base": "172.90.0.0/16",
      "size": 24
    }
  ]
}

请指教

我的环境:

# uname -a
Linux gfn-classroom 4.4.0-109-generic #132-Ubuntu SMP Tue Jan 9 19:52:39 UTC 
2018 x86_64 x86_64 x86_64 GNU/Linux

# docker --version
Docker version 17.12.0-ce, build c97c6d6

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

拉取请求 https://github.com/moby/moby/pull/29376 已关闭,未合并,因此该功能在 Docker

中(尚)不可用

这已合并到 https://github.com/moby/moby/pull/36396 and (hopefully) will be available in 18.06. [Reference]

另请注意,更改默认地址池也可作为 cli 参数使用,例如:

/usr/bin/dockerd -H ... --default-address-pool base=172.29.0.0,size=16