0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

docker-composeで生成されるdefault networkのsubnet範囲を指定する

Last updated at Posted at 2020-12-04

背景

docker-composeでは特に指定のない限り、xxx_defaultというネットワークが作成されるが、このsubnetのCIDRは 172.17.0.0/12192.168.0.0/16 から重複しないように選ばれる。(前者が枯渇すると後者から選ばれる)
linuxでhost.docker.internalを使う
この手法を使うにはホスト側でdocker-composeが生成するサブネットからのパケットをfirewallで許可しないといけないが、上記のサブネット全部を許可するのはなんとなく嫌で、サブネットの範囲を限定したかった。

default-address-pool

dockerdの起動オプションで、自動でnetworkを作る時のサブネットのCIDR範囲を指定できる。

/etc/docker/daemon.json
{
  "default-address-pools": [
    { "base": "10.123.0.0/16", "size": 24 }
  ]
}

上のように指定すると、10.123.0.0/16 からネットワークアドレスが24bitであるようなサブネット(10.123.0.0/2410.123.10.0/24等)を選んでくれる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?