体はドクペで出来ている

インフラ、Goの割合が多い技術ブログ

Amazon Linux 2 (Candidate 2)でdocker0のネットワークアドレスを変更する

始めに

Amazon Linux 2にDockerをインストールして遊んでいた際、特段深く考えず設定したRDS用のネットワークがDockerのネットワークと衝突してしまい変更する必要に迫られましたので、備忘がてら記事にします。

Dockerはデフォルトの場合docker0というブリッジを作りコンテナとの通信を行いますが、この時ブリッジには172.17.0.1/16が割り当てられますのでこれを変更してやる必要があります。

変更手順

下記コマンドで設定ファイルの場所を特定しエディタで開きます。

# systemctl status docker | grep Loaded
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)

# vi /usr/lib/systemd/system/docker.service

編集箇所

- ExecStart=/usr/bin/dockerd
+ ExecStart=/usr/bin/dockerd --bip=10.200.0.1/16

変更の適用

# systemctl daemon-reload
# systemctl restart docker
# ip addr
(略)
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:a6:cd:d3:12 brd ff:ff:ff:ff:ff:ff
    inet 10.200.0.1/16 scope global docker0
       valid_lft forever preferred_lft forever

補足

ググるdocker0を一度削除したりする手順がたくさん出てきますが、特にそういう面倒なことはしなくても大丈夫でした。