VirtualBox里的那个docker,外面网络切换时,VirtualBox里的boot2docker加上更里面的容器就都网络不通了。一开始还以为是自己的网络问题,几次之后发现这似乎是boot2docker的bug,不是网络不通,而是DNS server没有自动随机而变,还在用一开始主机网络时的那个,自然不通了。
解决方法有几种,我一开始是傻傻的重启动boot2docker的。
-
启动docker容器时指定--dns 8.8.8.8
docker run -it--dns 8.8.8.8 ubuntu bash
-
修改一下boot2docker的 /etc/resolv.conf
nameserver8.8.8.8
-
重启动boot2docker(也就是docker-machine)
docker-machine restart default