DockerMachine如何创建Azure虚拟主机

本文小编为大家详细介绍“Docker Machine如何创建Azure虚拟主机”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker Machine如何创建Azure虚拟主机”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

平川ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

准备

我们的目标是通过 docker machine 在 azure 上面创建一台安装了 docker 的虚拟主机。因为 azure 上的所有资源都必须通过订阅账号才能授权使用,所以我们首先得准备一个 azure 的订阅账号。国内的 azure 一直在搞一元试用的活动,赶快去申请一个吧!

azure 建议我们把资源通过 resource group 组织起来。为了演示方便,我们新创建一个名为 nickcontainer 的 resource group 存放将要创建的虚机:

Docker Machine如何创建Azure虚拟主机

此时 resource group 中还没有任何内容。

创建云端虚机

使用 docker machine,一个 create 命令就能搞定:

docker-machine create \
  --driver azure \
  --azure-environment azurepubliccloud \
  --azure-subscription-id xxxxxxxxxxxxxxxxxxxxxxxxxx \
  --azure-location "east asia" \
  --azure-size standard_a0 \
  --azure-image canonical:ubuntuserver:16.04.0-lts:latest \
  --azure-ssh-user nick \
  --azure-resource-group nickcontainer \
  --azure-availability-set testvmtiggeras \
  testvmtigger

使用国内 azure 的用户请把参数 --azure-environment azurepubliccloud 修改为 --azure-environment azurechinacloud。
执行上面的命令,首先会验证我们是否有权限访问 azure 进行操作:

Docker Machine如何创建Azure虚拟主机

这时执行流程停住了,上图的输出中说的很明确,需要在浏览器中访问 https://aka.ms/devicelogin,然后输入一个验证码:

Docker Machine如何创建Azure虚拟主机

填入验证码并继续:

Docker Machine如何创建Azure虚拟主机

在此处输入你的订阅账号和密码就可以进完成身份验证了:

Docker Machine如何创建Azure虚拟主机

此时身份认证过程已经完成,可以关掉浏览器了。回到刚才的命令行,发现又接着往下执行了。整个过程大概需要几分钟,直到输出下面的内容:

Docker Machine如何创建Azure虚拟主机

让我们看看虚机 testvmtigger 的状态:

Docker Machine如何创建Azure虚拟主机

已经处于 "runing" 状态,连上 docker daemon 试试:

Docker Machine如何创建Azure虚拟主机

可以看到服务器端的版本是 17.05.0-ce,远高于本地客户端的版本。

再让我们回到 azure 的 portal 上,看看 resource group 中新创建了哪些内容:

Docker Machine如何创建Azure虚拟主机

一看吓一跳,怎么这么多东西?其实玩过 azure 虚机的同学都知道,当我们创建一台虚机的同时会创建这台虚机依赖的所有资源,比如存储、虚拟网络、网络安全组、可用性集合、网卡、公有ip地址等等。这里我们只关心两点(上图中的红框框)就足够了:第一,虚机被成功创建了;第二,所有资源的区域都在东亚。

经过一轮检查,我们可以确定 create 命令很好的完成了任务:在 azure 上创建了虚机,并且安装了 docker 环境。下面我们解释一下 create 命令中主要的几个参数。

参数详解

--driver azure
driver 参数告诉 docker machine 我们操作的对象在 azure 云上,需要使用 azure 相关的接口来进行操作。

--azure-environment azurepubliccloud
其实存在多套相互独立的 azure 云环境,比如国内的。所以需要用这个参数来指定具体的 azure 云环境。默认值是 azurepubliccloud,指向我们说的 azure 国际版。连接国内版需要指定为 azurechinacloud。

--azure-subscription-id xxxxxxxxxxxxxxxxxxxxxxxxxx
这个是与你账号关联的订阅 id,azure 内部的操作都是依赖于这个 id 的。

--azure-location "east asia"
azure 在全球各地部署了很多的数据中心,我们可以通过 location 指定创建的资源所在的位置。这个位置当然是越靠近用户越好,国内的国际版用户选择东亚稍微好一点。

--azure-size standard_a0
azuer 根据不同的 size(其实就是配置)对虚拟机进行收费,demo 中选择的 standard_a0 大概是这个样子:

Docker Machine如何创建Azure虚拟主机

虽然配置不高,但作为 demo 来说已经足够用了。ms 提供了非常丰富的 size 可供选择,如果你要创建生产环境的虚机实例,可能需要选择每个月几十到几百美金的实例。

--azure-image canonical:ubuntuserver:16.04.0-lts:latest
对于生产环境来说,虚机的镜像是至关重要的。demo 中使用了 ubuntu server 16.04 的镜像,当然我们可以在这里指定 azure 支持的任何虚拟机镜像。这点可比只能使用 boot2docker 的驱动强多了!

--azure-ssh-user nick
可以通过 ssh 登录到虚拟机中的用户,让我们试一下:

Docker Machine如何创建Azure虚拟主机

直接以用户 nick 登录成功了,其实 docker machine 已经为这个用户配置了通过秘钥登录的相关信息。

--azure-resource-group nickcontainer
新创建的资源所属的 resource group。

清除资源

docker machine 不仅可以创建虚机,还可以管理虚机。所谓的管理,仅仅是能够 stop、start 和 restart 吗?答案是可以有更多的功能,但是需要相关驱动的支持。比如 rm 命令,对于 azure 驱动来说,它是可以把刚才创建那一坨东西几乎全部干掉的!执行下面的命令:

$ docker-machine rm testvmtigger

这是一个很危险的操作,所以会有一个确认执行的步骤,然后就真的把 azure 上的资源给干掉了(除了存储部分):

Docker Machine如何创建Azure虚拟主机

读到这里,这篇“Docker Machine如何创建Azure虚拟主机”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。


分享题目:DockerMachine如何创建Azure虚拟主机
本文网址:http://ybzwz.com/article/ppgehi.html