我正在尝试在Digital Ocean上创建一个docker机器,但是使用16.04 LTS而不是默认的15.10。 do-access-token文件包含我的令牌。
这是脚本(create-do):
#!/usr/bin/env bash
# Creates a digital-ocean server with Ubuntu 16.04 instead of the default
if [ "$1" != "" ]; then
echo "Creating: " $1
docker-machine \
create \
--driver digitalocean \
--digitalocean-access-token=`cat do-access-token` \
--digitalocean-image=ubuntu-16-04-x64 \
--digitalocean-ipv6=true \
$1
else
echo "Must have server name!"
fi
当我像这样运行脚本时:
$ ./create-do ps-server
它成功地在Digital Ocean分配机器,然后用这个来解决:
Creating: ps-server
Running pre-create checks...
Creating machine...
(ps-server) Creating SSH key...
(ps-server) Creating Digital Ocean droplet...
(ps-server) 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(systemd)...
Error creating machine: Error running provisioning: Something went wrong
running an SSH command!
command : sudo apt-get update
err : exit status 100
output : Reading package lists...
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
机器正在运行,但由于SSH密钥在出现问题之前显然未设置,因此我无法访问它。
之前有人见过这个和/或有过解决方法吗?
答案 0 :(得分:1)
更新:2016年5月21日 今天早上再次破坏同样的错误。尝试了4次,每次都失败了。
更新:2016年5月20日
根据Digital Ocean的支持,由于他们的Ubuntu 16.04图像存在问题现已得到纠正,我已经确认现在可以使用了。
相关GitHub问题(尚未关闭):
答案 1 :(得分:0)
这对我有用:
docker-machine provision your-node
我从这里采取了这个解决方案:https://github.com/docker/machine/issues/3358
我希望这有帮助!