docker0のIPアドレス帯の変更


Dokkuを使ってDockerをインストールしたら内部LANの172.X.X.Xとかぶってしまって通信ができなくなりました。docker0のアドレスを変更する方法で悩んだのでメモです。

環境

  • Ubuntu 18.04, 14.04
  • Dokku

インストールはドキュメント通りに普通にやります。アドレスがかぶっているとインストール中にバシッと通信が途切れます。

変更方法(Ubuntu 18.04)

昔と同じように修正したら反映しないので見直したら変更箇所が変わっていました...

/etc/default/docker
#
# THIS FILE DOES NOT APPLY TO SYSTEMD
#
#   Please see the documentation for "systemd drop-ins":
#   https://docs.docker.com/engine/admin/systemd/
#
....

いろいろ方法はあるようですが、/etc/docker/daemon.jsonを書きかえる方法が良さそうです。

/etc/docker/daemon.json
{
    ...
    "bip": "192.168.200.1/24",
    ...
}

サービスを再起動します

sudo service docker restart

設定したipになっているのを確認します

$ ifconfig docker0
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.200.1  netmask 255.255.255.0  broadcast 192.168.200.255
        ether 02:42:01:c5:3d:0e  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

変更方法(Ubuntu 14.04)

/etc/default/dockerファイルを変更します。

/etc/default/docker
...
DOCKER_OPTS="--bip=192.168.200.1/24"
...

コマンドラインオプションの--bipにて利用するアドレス帯を指定するだけなんですが、情報が無かったので。