解决Mac无法连接Boot2Docker的问题

问题再现

Mac下安装Docker必须安装Boot2Docker,但随着容器的增多,网络设置的变化可能会导致无法连接到Boot2Docker,类似以下错误提示

Waiting for VM and Docker daemon to start...
..............................................ooooooooooooooooooooooooooooooooo
Started.
Trying to get Docker socket one more time
Error requesting socket: exit status 1

但是虚拟机上跑的容器实际还是运行正常的。因此,导致问题的原因是Mac自身的网络设置问题上。

解决步骤

第一步 清理hosts

启动boot2docker的时候要保证Mac本机的/etc/hosts里有且只有一行localhost,指向127.0.0.1才行。
$ sudo vi /etc/hosts
d键删除多余的地址解析,wq键保存退出。

第二步 删除原有boot2docker

虚拟机内有重要容器此步须谨慎
修改hosts文件后运行了一下命令删除了之前的vm
$ boot2docker delete

第三步 启动boot2docker

再次运行boot2docker
$ boot2docker init
运行中的界面如下

bash-3.2$ /usr/local/bin/boot2docker up
WARNING: The 'boot2docker' command line interface is officially deprecated.
Please switch to Docker Machine (https://docs.docker.com/machine/) ASAP.
Docker Toolbox (https://docker.com/toolbox) is the recommended install method.
Waiting for VM and Docker daemon to start...
..................oooooooo
Started.
Writing /Users/Cooper/.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/Cooper/.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/Cooper/.boot2docker/certs/boot2docker-vm/key.pem
To connect the Docker client to the Docker daemon, please set:
export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/Cooper/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1
Or run: eval "$(boot2docker shellinit)"

第五步 重设环境变量

根据上一步运行提示,有两种方法处理,采取其中一种即可
1、export三个环境变量
$ export DOCKER_HOST=tcp://192.168.59.103:2376
$ export DOCKER_CERT_PATH=/Users/Cooper/.boot2docker/certs/boot2docker-vm
$ export DOCKER_TLS_VERIFY=1>
2、运行命令
$ eval "$(boot2docker shellinit)"

第六步 验证

$ docker version

Client:
Version: 1.8.0
API version: 1.20
Go version: go1.4.2
Git commit: 0d03096
Built: Tue Aug 11 17:17:40 UTC 2015
OS/Arch: darwin/amd64
Server:
Version: 1.8.0
API version: 1.20
Go version: go1.4.2
Git commit: 0d03096
Built: Tue Aug 11 17:17:40 UTC 2015
OS/Arch: linux/amd64

Client/Server 中的docker运行正常

posted @ 2015-10-20 20:11  ExNihilo  阅读(884)  评论(0编辑  收藏  举报