Docker蓬勃发展,如日中天。微软自然也不甘落后,且不说即将发布的、支持Docker技术的Windows Nano Server和Windows Server 2016。我们来看看在Microsoft Azure上如何使用Docker吧。

Microsoft Azure目前并没有发布独立的Container Service,而是将Docker集成到VM和CLI中。这样,用户就可以通过是用CLI来创建和管理Docker了。看起来有点简陋不是?没关系,有胜于无。再说了,相信微软不会让大家失望的。顺便说一下,Microsoft Azure上已经有CoreOS镜像提供了,用户可以创建基于CoreOS的虚拟机。

这次我们不用PowerShell,因为现在要在Microsoft Azure使用Docker,只能使用Linux客户端!MacOS勉强也行,Windows暂时就别指望了。原因很简单,需要在客户端上安装Docker。

如果手头没有运行Linux系统的机器,那么就在Microsoft Azure上创建一个VM当客户端使用吧。一个基本A2实例就够用了。我们以Ubuntu 14.04LTS为例,来介绍如何安装Microsoft Azure CLI。

安装node.js,Microsoft Azure CLI是基于node.js开发的。

sudo curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

安装Microsoft Azure CLI

sudo npm install azure-cli --global

导入publishsettings文件,这个文件和PowerShell用的是同一个。

azure account import [publishsettings文件名]

创建一个Docker主机

azure vm docker create -e [SSH端口] -l "[Microsoft Azure区域]" [Docker主机名称] [Microsoft Azure虚拟机镜像名称] [用户名] [密码]

上述命令是一个最简化的创建Docker主机的命令,执行成功后会创建一个标准A1的Docker主机出来。更多参数请使用[azure vm docker create -h]查询。[Microsoft Azure虚拟机镜像名称]可以通过[azure vm image list | grep 14_04]命令获得。

Docker主机创建成功后,使用docker客户端可以直接连接和管理Docker主机。

docker --tls -H tcp://[Docker主机名].cloudapp.net:2376 info

OK,经过上述步骤,我们就可以在Azure上创建和使用Docker啦!

不过中国版的Windows Azure目前还不支持以这种方式使用Docker,只能乖乖地按照传统的方式在虚拟机上安装和配置Docker。上述步骤虽然在可以在中国版的Windows Azure上成功执行,但创建出来的虚拟机并没有部署Docker(说白了就是创建了一个普通的虚拟机出来,根本就不是Docker主机,坑人不浅~~~),自然也就不能使用Microsoft Azure CLI来连接和使用Docker了。

Docker on Microsoft Azure的更多相关文章

  1. 携手 Google 和 Docker 为 Microsoft Azure 带来全新的开源容器技术

     发布于 2014-08-08 作者 陈 忠岳 今天对容器管理来说是个好日子.因为今天微软开放技术不止发布一项,而是两项开源计划来帮助云开发者将容器管理又向前推进一步.我们已开始与 Google ...

  2. 基于Microsoft Azure、ASP.NET Core和Docker的博客系统

    欢迎阅读daxnet的新博客:一个基于Microsoft Azure.ASP.NET Core和Docker的博客系统   2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客 ...

  3. Microsoft Azure 微软云平台系列新品发布

    在移动为先,云为先的今天,微软为拥抱云文化的企业提供了技术和工具.利用创新且全面的移动解决方案和开发者工具,微软有独到之处,它帮助所有客户在云为先时代中发现潜在价值. 正如希望加快云创新步伐的你们所期 ...

  4. Microsoft Azure Web Sites应用与实践【4】—— Microsoft Azure网站的“后门”

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  5. Microsoft Azure Web Sites应用与实践【1】—— 打造你的第一个Microsoft Azure Website

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  6. Microsoft Azure Web Sites应用与实践【2】—— 通过本地IIS 远程管理Microsoft Azure Web Site

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  7. Microsoft Azure Web Sites应用与实践【3】—— 通过Visual Studio Online在线编辑Microsoft Azure 网站

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  8. Microsoft Azure Point to Site VPN替代方案

    Microsoft Azure提供了Point to Site VPN,但有时候这并不能满足我们的需求,例如:Point to Site VPN是SSTP VPN,只能支持Window客户端拨入,而且 ...

  9. 使用VNET-to-VNET连接Microsoft Azure国际版和中国版

    Microsoft Azure的VNET-to-VNET功能可以实现跨虚拟网络的VPN连接,通过VNET-to-VNET互联的两个虚拟网络可以在同一个订阅下或者隶属不同的订阅,而且可以跨数据中心.这实 ...

随机推荐

  1. javascript 异步模块加载 简易实现

    在javascript是没有类似java或其他语言的模块概念的,因此也不可能通过import或using等关键字来引用模块,这样造成了复杂项目中前端代码混乱,变量互相影响等. 因此在复杂项目中引入AM ...

  2. Unicode Character Table – Unicode 字符大全

    Unicode(统一码.万国码.单一码)是一种在计算机上使用的字符编码.它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言.跨平台进行文本转换.处理的要求.Unicode Chara ...

  3. pywebsocket的搭建

    Python可以搭建pywebsocket(Web服务器,python websocket),搭建pywebsocket必须要已经安装了python,点我查看python的下载与安装.在这篇Blog中 ...

  4. #8.10.16总结# 属性选择符 伪对象选择符 CSS的常用样式

    属性选择符 E[att] E[att="val"] E[att~="val"] E[att^="val"] E[att$="val ...

  5. 闲聊桌面应用开发[Win16->Win32->ATL/WTL/MFC->WinForm->WPF/Silverlight/WinRT]

    闲来无聊,正好小组人员讨论到桌面的开发,那把笔者接触的WIndows平台下的几个主要的发展过程聊一聊. 主要从概述,参考资料,图书等几个方面说起. 所有的界面开发都会涉及如下的几个方面的内容: v 控 ...

  6. 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令

    Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...

  7. 【代码笔记】iOS-调用系统震动和声音

    代码: RootViewController.m #import "RootViewController.h" #import <AudioToolbox/AudioTool ...

  8. eclipse编码格式设置

    大家好,我是小Alan,很高兴大家能够看到这篇小小的技术点文章,这还是从参加工作以来,小Alan写的第一篇博文.喜欢能够给一些朋友带来方便. 说到eclipse编码格式的设置其实一个非常非常小的事情, ...

  9. array_filter、array_map、array_walk解释

    /** * array_filter 用回调函数处理数组中的各个元素, * 重点在于过滤(而不是新增)某个元素,当你处理到一个元素时, * 如果返回了false,那么这个元素将会被过滤掉.PS:保持了 ...

  10. 面试问题-使用Java线程做数学运算

    这是一个展示如何使用join()方法的例子. 问题: 使用Java多线程计算表达式1*2/(1+2)的值. 解决方案: 使用一个线程做加法运算,另一个线程做乘法运算,还有一个主线程main做除法运算. ...