不确定它是否是DigitalOcean问题或docker-machine
但我在尝试在DO上创建Droplet时反复出现此错误
$ docker-machine create --driver digitalocean --digitalocean-access-token=$TOKEN --digitalocean-region=sgp1 --digitalocean-image=ubuntu-14-04-x64 --digitalocean-size "1gb" staging
Running pre-create checks...
Creating machine...
(staging) Creating SSH key...
(staging) Creating Digital Ocean droplet...
(staging) Waiting for IP address to be assigned to the Droplet...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with ubuntu(upstart)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Error creating machine: Error running provisioning: Get https://api.digitalocean.com/v2/droplets/17900941: dial tcp: lookup api.digitalocean.com on 127.0.1.1:53: read udp 127.0.0.1:40376->127.0.1.1:53: i/o timeout
我在Ubuntu 14.04上使用以下docker包
$ docker-machine version
docker-machine version 0.7.0, build a650a40
$ docker version
Client:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 21:47:50 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.1
API version: 1.23
Go version: go1.5.4
Git commit: 5604cbe
Built: Wed Apr 27 00:34:20 2016
OS/Arch: linux/amd64
答案 0 :(得分:1)
错误是:read udp 127.0.0.1:40376->127.0.1.1:53: i/o timeout
看起来它试图使用localhost作为名称服务器并且没有运行DNS服务器。
你的/etc/resolv.conf
文件是什么样的?
解决此问题的两种方法:在本地方框中启动DNS服务器,或者更好的方法是修复该文件中的DNS服务器设置并使用例如8.8.8.8
作为名称服务器。
答案 1 :(得分:0)
不是100%肯定,但我解决了以下问题。 我正在使用virtualbox机器进行开发,并在我开始工作时运行命令
eval "$(docker-machine env local)"
所以我的docker-machine env
被设置为一些变量,因为在同一个终端中运行docker-machine create
会导致DNS解析问题。
只需启动新终端,就可以毫无问题地创建DigitalOcean Droplet。