在线文档教程
Docker 17
机器 | Machine

Microsoft Azure (Machine)

Microsoft Azure

您需要订阅Azure才能使用此Docker机器驱动程序。申请免费审判。

注:本文档用于Azure驱动程序的新版本,该驱动程序从V0.7.0开始发布。此驱动程序与旧的Azure驱动程序不向后兼容。如果您想继续管理您现有的Azure机器,请在V0.7.0之前下载并使用机器版本。

认证

第一次尝试创建机器时,Azure驱动程序将要求您验证:

$ docker-machine create --driver azure --azure-subscription-id <subs-id> <machine-name> Running pre-create checks... Microsoft Azure: To sign in, use a web browser to open the page https://aka.ms/devicelogin. Enter the code [...] to authenticate.

认证后,驱动会在两周内记住你的认证。

已知问题:Azure Active Directory存在一个已知问题,导致存储的认证在用户登录到个微软帐户(之前的ID)而不是ActiveDirectory帐户,之内的几个小时内而不是14天内过期。目前,没有ETA可供解决,但同时您可以创建AAD帐户然后用它登录作为解决办法。

备选方案

Azure驱动程序只需要一个参数,以使得事情更容易。请阅读可选的标志,以进一步配置机器的详细信息和位置。

所需:

  • --azure-subscription-id*(需要)您的Azure订阅ID。任选:

  • --azure-image::Azure虚拟机映像的开发者格式:报价:单品:版本。[?]

  • --azure-location:创建虚拟机的Azure域。[?]

  • --azure-resource-group:Azure资源组名称,用于在其中创建资源。

  • --azure-size:Azure虚拟机的大小。[?]

  • --azure-ssh-user:SSH登录的用户名。

  • --azure-vnet:Azure虚拟网络名称,用于连接虚拟机。[?]若要从其他资源组指定虚拟网络,请使用resourcegroup:vnet-name格式。

  • --azure-subnetAzure子网名称将在虚拟网络中使用。

  • --azure-subnet-prefix:私人CIDR区块。用于在不存在子网的情况下创建子网。在子网确实存在的情况下必须匹配。

  • --azure-availability-set:Azure可用性设置为将虚拟机放置到。[?]

  • --azure-open-port:让其他端口号(s)可从因特网访问。[?]

  • --azure-private-ip-address:指定机器的静态专用IP地址。

  • --azure-use-private-ip:使用机器的专用IP地址进行连接。它对于管理来自同一网络上的另一台计算机的Docker机器很有用,例如,在部署Swarn时。

  • --azure-no-public-ip不要为机器创建公共IP地址(包含--azure-use-private-ip)。只应在同一子网中从Azure VM创建机器时使用。

  • --azure-static-public-ip:为机器分配静态公共IP地址。

  • --azure-docker-port:Docker引擎的端口号。

  • --azure-environmentAzure环境(例如AzurePublicCloudAzureChinaCloud)。

环境变量和默认值

CLI 选项环境变量默认值
--azure-subscription-idAZURE_SUBSCRIPTION_ID-
--azure-environmentAZURE_ENVIRONMENTAzurePublicCloud
--azure-imageAZURE_IMAGEcanonical:UbuntuServer:16.04.0-LTS:latest
--azure-locationAZURE_LOCATIONwestus
--azure-resource-groupAZURE_RESOURCE_GROUPdocker-machine
--azure-sizeAZURE_SIZEStandard_A2
--azure-ssh-userAZURE_SSH_USERdocker-user
--azure-vnetAZURE_VNETdocker-machine
--azure-subnetAZURE_SUBNETdocker-machine
--azure-subnet-prefixAZURE_SUBNET_PREFIX192.168.0.0/16
--azure-availability-setAZURE_AVAILABILITY_SETdocker-machine
--azure-open-port--
--azure-private-ip-address--
--azure-use-private-ip--
--azure-no-public-ip--
--azure-static-public-ip--
--azure-docker-portAZURE_DOCKER_PORT2376

注记

Azure完全采用新的Azure资源管理器(ARM)叠起来。创建的每一台机器都有一些与其相关的其他Azure资源:

  • 一个虚拟网络并在其下创建一个子网,将您的机器放置到。这将在您的码头机器之间建立本地网络。

  • 一个可用性集是为了最大化您的机器的可用性而创建的。

当第一台机器创建并在之后重用时,就只创建一次。尽管它们是免费资源,但是在删除使用这些资源的最后一台计算机之后,驱动程序会尽最大努力清理它们。

每台机器都使用公共动态IP地址创建,用于外部连接。默认情况下,其所有端口(Docker和SSH除外)都已关闭。你可以用--azure-open-port参数指定可从Internet访问的多个端口号。

一旦创建了机器,您就可以从Azure门户修改网络安全组规则和打开机器的端口。