disclaimer
- すでにdocker/machineにもポストしてしまったネタですが、実際問題が解決している人もいるようなので、日本語でも見つかるようにマルチポストしておきます。
問題
- docker-machineでvirtualbox providerを使って新しくホストを作成しようとしたときに以下のようなエラーが出て失敗する
INFO[0000] Creating SSH key...
INFO[0000] Creating VirtualBox VM...
INFO[0011] Starting VirtualBox VM...
INFO[0012] Waiting for VM to start...
ERRO[0065] Error creating machine: No IP address found 4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:26:c2:13 brd ff:ff:ff:ff:ff:ff
inet6 fe80::a00:27ff:fe26:c213/64 scope link
valid_lft forever preferred_lft forever
WARN[0065] You will want to check the provider to make sure the machine and associated resources were properly removed.
FATA[0065] Error creating machine
解決法
VBoxManage list -l hostonlyifs
でVirtualBoxのホストインターフェイスの設定を調べる(vboxnet1).
IPAddressのところに注目する。
Name: vboxnet1
GUID: 786f6276-656e-4174-8000-0a0027000001
DHCP: Disabled
IPAddress: 192.168.99.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:01
MediumType: Ethernet
Status: Up
VBoxNetworkName: HostInterfaceNetworking-vboxnet1
192.168.99.*などとなっていると要注意。これがどうもdocker-machineがeth1に与えたいIP address rangeとかぶっているらしい。この場合、例えば以下のようにアドレスを変更する。
Name: vboxnet1
GUID: 786f6276-656e-4174-8000-0a0027000001
DHCP: Disabled
IPAddress: 192.168.59.103
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:01
MediumType: Ethernet
Status: Up
VBoxNetworkName: HostInterfaceNetworking-vboxnet1
その後、docker-machine rm => createでマシンを再作成すれば問題が起きなくなった。