docker-composeでIPアドレスの振り方を変える

概要

docker-composeを使いながら作業をすると、IPアドレスが競合してしまうことがある。
原因はdocker-composeでコンテナを立ち上げたときにIPアドレスが自動的に振られるため。
なので、docker-composeでコンテナを立ち上げたときに競合しないようにする。

環境

Ubuntu: 20.04LTS docker-compose: 1.27.4 Docker: 19.03

方法

/etc/docker/daemon.json

{
   "default-address-pools":[
        {
            "base":"192.0.0.0/16",
            "size":24
        }
    ]
}

を追記する。
その後、Dockerを再起動すれば反映される。

解説

上記の例であれば、

  1. デフォルトのIPアドレス192.0.0.0/16にする。
  2. 192.0.0.0/16を基底として、255個のIPアドレスを振るようにする。

ということ。
そのためにdocker-composeで立ち上げられるコンテナの数も255個になる。
ただし、このやり方はDockerのバージョンが18.06以降でなければならない。

参考

qiita.com

tech.actindi.net