ドッカーがネットワークサブネットを生成する場所は3つあります。
- デフォルトのブリッジ
- ユーザー生成ブリッジネットワーク
- Swarmモードで生成されたオーバーレイネットワーク
デフォルトのブリッジ(「ブリッジ」と呼ばれます)の場合、ファイルにBIP(ブリッジIPであると信じています。ネットワークIPではなくホストIPであることを確認してください)を指定できますdaemon.json。また、ユーザー生成のブリッジネットワークでは、選択するサブネットプールを定義できます(ユーザーがサブネットを手動で指定しないと仮定)。これら2つの場合、次のように/etc/docker/daemon.jsonなります。
{
  "bip": "10.200.0.1/24",
  "default-address-pools":[
    {"base":"10.201.0.0/16","size":24},
    {"base":"10.202.0.0/16","size":24}
  ]
}
上記の各アドレスプール設定は、CIDR範囲とその範囲から割り当てられるサブネットのサイズを定義します。したがって、上記では、クラスCネットワーク(/ 24)として割り当てられる2つのクラスB範囲を定義しています。デフォルトのアドレスプールには少なくとも18.06が必要です。この変更を適用するには、Dockerデーモンを再ロードする必要があります(systemctl reload docker)。また、この変更は新しく作成されたユーザーネットワークのみを変更するため、コンテナを停止し、間違った範囲の既存のネットワークを削除する必要があります。
18.09で、Dockerは、スウォームモードで生成されたオーバーレイネットワークのアドレス範囲を指定する機能を追加しました。これは、今のところswarmの作成時にのみ行うことができ、docker swarm updateこれらのプールを調整できるように将来更新されることを願っています。
$ docker swarm init \
  --default-addr-pool 10.202.0.0/16 \
  --default-addr-pool 10.203.0.0/16 \
  --default-addr-pool-mask-length 24