当前位置: 首页 » 综合知识 » it知识 » 正文

Docker Machine如何创建Azure虚拟主机

发布时间:2023-07-24 以下文章来源于网友投稿,内容仅供参考!

准备

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

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

此时 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 进行操作:

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

填入验证码并继续:

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

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

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

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

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

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

一看吓一跳,怎么这么多东西?其实玩过 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 大概是这个样子:

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

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

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

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

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

清除资源

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

$ docker-machine rm testvmtigger

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

  • • Linux Ecdsa密钥长度选择有何依据

    在Linux

  • • Linux Khook在内核监控中的应用如何

    Linux

  • • Linux Gsoap是否支持异步通信

    GSOAP是

  • • Linux Coremail如何提升用户体验

    提升Linu

  • • Linux Ecdsa算法有哪些局限性

    ECDSA

  • 哎呀音乐钢琴键盘学习《 钢琴主人训练营》 西瓜学琴
    郭蝈 陪练钢琴 30节课时 考级刚需 让孩子每一次练琴都是高质量的
    30天轻松学会五线谱 流行钢琴自学初级教程 牙牙学琴
    流行爵士钢琴实战技巧VIP课 - 继伟 哎呀音乐
    【海上钢琴师】原版 MT1990钢琴谱
    百首经典流行钢琴实战曲集 - 继伟
    雷费尔德电钢琴重锤88键专业考级儿童初学者数码电子钢琴家用
    小练咖 真人钢琴陪练 1v1服务 2999随时退 1课时50分钟 考级刚需
    雅马哈电钢琴88键重锤CLP735智能数码电子钢琴家用专业初学者考级
    【原装进口】Yamaha/雅马哈钢琴 b121 SC2原声静音钢琴
  • 珠海专业调钢琴
  • 天津宝坻区调钢琴
  • 天津静海区钢琴调音
  • 成都简阳市钢琴调律
  • 大连瓦房店市钢琴调音
  • 眉山调钢琴联系方式
  • 惠州大亚湾钢琴调琴师
  • 长治调琴师
  • 厦门湖里区钢琴调音师
  • 上海普陀区钢琴调音师