boot2dockerのディスク容量を増やす必要があったため、~/.boot2docker/profile
を修正してVMを作り直しました。
その時ハマった記録。
環境
- OS: macOS Sierra 10.12.3
- boot2docker version: v1.8.0
問題が発生した手順
boot2docker delete
boot2docker init
boot2docker up
- 端末再起動
boot2docker up
発生した問題
- VM再作成後、3で起動した時点では192.168.59.104だったDocker hostのIP Addressが、5の後は192.168.59.103になってしまう。
- 環境変数
DOCKER_HOST
のIP Addressを192.168.59.103に修正しても、x509 certificate errorになってしまう。 - 端末を再起動せず、
boot2docker down/up
しただけではIP addressは192.168.59.104のままになっており、正常に動作する。
$ docker ps
An error occurred trying to connect: Get https://192.168.59.103:2376/v1.24/containers/json: x509: certificate is valid for 127.0.0.1, 10.0.2.15, 192.168.59.104, not 192.168.59.103
最終的に実施した問題解消方法
- 私がやった限りでは既存VMのIP Addressを修正することができなかったので、再度
boot2docker delete -> init -> up
でVMを作り直しました。
備考
- VMを再作成した際、IP Addressが変わっていた場合は、端末再起動後にIP Addressが古いものになってしまい、x509 certificate errorになる可能性があるのでご注意ください。
- もしVM再作成以外に直す方法があればコメントお願いします。
以下、足掻いた記録(蛇足です)
問題が発生した手順5の後、とりあえずDocker hostのIP Addressをコマンドで設定。
ifconfig
192.168.59.104 netmask 255.255.255.0 broadcast 192.168.59.255 up
当然だが動くようにはなった。
しかしboot2docker VMはCore Linuxで、IP AddressはDHCPで設定しているので、リース期限が来ると再び192.168.59.103が設定されてしまう。
設定を永続化しておきたいが、boot2docker down
で設定が消えてしまう。
また、DHCPで強制的に192.168.59.104を設定しようとしたけどうまくいきませんでした。