0

我正在尝试编写一个 Powershell 脚本来在安装了 Docker 的 Azure 中创建一个 VM。从我读过的所有内容来看,我应该能够做到以下几点:

$image = "b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_3-LTS-amd64-server-20150908-en-us-30GB"

azure vm docker create -e 22 -l 'North Europe' --docker-cert-dir dockercert --vm-size Small <myvmname> $image $userName $password

docker --tls -H tcp://<myvmname>.cloudapp.net:4243 info

vm 创建工作,但是 docker 命令失败并出现以下错误:

尝试连接时出错:Get https://myvmname.cloudapp.net:4243/v1.20/info : dial tcp 40.127.169.184:4243: ConnectEx tcp: A connection attempt failed because the connected party did not proper response after一段时间,或建立连接失败,因为连接的主机没有响应。

我发现的一些文章引用了端口 2376 - 但这也不起作用。

登录到 Azure 门户并查看创建的 VM - 似乎没有添加 Docker VM 扩展,并且除了默认的 SSH 端点之外没有其他端点。我期待这些是由azure vm docker create命令创建的。虽然我可能是错的那一点。

我看过的几篇示例文章在这里:

但是,还有很多其他文章说同样的事情。

有谁知道我做错了什么?

4

2 回答 2

2

我知道你没有做错任何事。我的 azurecli-dockerhost 连接已经工作了几个月,最近失败了。我使用“azure vm docker create”重新创建了我的 docker 主机,但它不再工作了。

我相信这是 azure-docker 团队必须修复的错误。

目前,我的解决方案是:

1) 不使用 Azure docker 扩展启动 Ubuntu VM

2) SSH 进入 VM 并使用以下几行安装 docker:

sudo su; apt-get -y update
apt-get install linux-image-extra-$(uname -r)
modprobe aufs
curl -sSL https://get.docker.com/ | sh

3) 直接在此 VM 中运行 docker,而不依赖于“客户端”,尤其是 azure cli。

如果您坚持使用 docker 客户端方法,我的替代建议是更新您的 azure-cli 并再次尝试“azure vm docker create”。让我知道事情的后续。

sudo su
apt-get update; apt-get -y install nodejs-legacy; apt-get -y install npm; npm install azure-cli --global
于 2015-09-23T06:55:53.523 回答
0

要为我的问题添加额外的答案,事实证明您可以使用docker create命令...

docker-machine create $vmname --driver azure --azure-publish-settings-file MySubscription.publishsettings

这种方法对我有用。

于 2015-09-30T19:21:52.173 回答