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
を一度削除したりする手順がたくさん出てきますが、特にそういう面倒なことはしなくても大丈夫でした。