微软Azure

预计阅读时间:4分钟

您需要Azure订阅才能使用此Docker Machine驱动程序。 注册一个免费试用版。

注意:本文档适用于新版本的Azure驱动程序,该驱动程序从v0.7.0开始发行。此驱动程序与旧的Azure驱动程序不向后兼容。如果要继续管理现有的Azure计算机,请下载并使用v0.7.0之前的计算机版本。

验证

首次尝试创建计算机时,A​​zure驱动程序会要求您进行身份验证:

$ 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存在一个已知问题,导致当用户使用个人Microsoft帐户(以前为Live ID)而不是Active Directory帐户登录时,存储的凭据将在数小时而不是14天后过期。当前,尚无用于解析的ETA,但是与此同时,您可以 创建一个AAD帐户,然后使用该帐户登录作为解决方法。

选项

Azure驱动程序只有一个必需的参数才能使事情变得简单。请阅读可选标志以进一步配置机器详细信息和放置。

必需的:

  • --azure-subscription-id:(必需)您的Azure订阅ID。

可选的:

  • --azure-availability-set:Azure可用性设置为将虚拟机放入。[ ]
  • --azure-docker-port:Docker引擎的端口号。
  • --azure-environment:Azure环境。例如,AzurePublicCloudAzureChinaCloud
  • --azure-image:Azure虚拟机映像,其格式为Publisher:Offer:Sku:Version [ ]
  • --azure-location:创建虚拟机的Azure区域。[ ]
  • --azure-no-public-ip:不要为机器创建公共IP地址(表示--azure-use-private-ip)。仅当从同一子网内的Azure VM创建计算机时才应使用。
  • --azure-open-port:使其他端口号可从Internet访问[ ]
  • --azure-private-ip-address:指定机器的静态专用IP地址。
  • --azure-resource-group:用于创建资源的Azure资源组名称。
  • --azure-size:Azure虚拟机的大小。[ ]
  • --azure-ssh-user:SSH登录的用户名。
  • --azure-static-public-ip:为机器分配一个静态的公共IP地址。
  • --azure-subnet:在虚拟网络中使用的Azure子网名称。
  • --azure-subnet-prefix:专用CIDR块。用于创建子网(如果不存在)。如果子网确实存在,则必须匹配。
  • --azure-use-private-ip:使用机器的专用IP地址进行连接。对于管理来自同一网络中另一台机器的Docker机器非常有用,例如在部署Swarm时。
  • --azure-vnet:用于连接虚拟机的Azure虚拟网络名称。[ ]要从另一个资源组指定虚拟网络,请使用resourcegroup:vnet-nameformat。

环境变量和默认值

CLI选项 环境变量 默认
--azure-availability-set AZURE_AVAILABILITY_SET docker-machine
--azure-docker-port AZURE_DOCKER_PORT 2376
--azure-environment AZURE_ENVIRONMENT AzurePublicCloud
--azure-image AZURE_IMAGE canonical:UbuntuServer:16.04.0-LTS:latest
--azure-location AZURE_LOCATION westus
--azure-no-public-ip -- --
--azure-open-port -- --
--azure-private-ip-address -- --
--azure-resource-group AZURE_RESOURCE_GROUP docker-machine
--azure-size AZURE_SIZE Standard_A2
--azure-ssh-user AZURE_SSH_USER docker-user
--azure-static-public-ip -- --
--azure-subnet-prefix AZURE_SUBNET_PREFIX 192.168.0.0/16
--azure-subnet AZURE_SUBNET docker-machine
--azure-subscription-id AZURE_SUBSCRIPTION_ID --
--azure-use-private-ip -- --
--azure-vnet AZURE_VNET docker-machine

笔记

Azure完全在新的Azure资源管理器(ARM)堆栈上运行。创建的每台计算机都附带有一些与之关联的Azure资源:

  • 将创建一个虚拟网络及其下的一个子网来放置您的计算机。这将在您的docker机器之间建立一个本地网络。
  • 一个可用性设置创建最大化您的机器的可用性。

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

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

创建计算机后,您可以修改网络安全组 规则并从Azure门户打开计算机的端口

计算机Microsoft Azure驱动程序