此内容还未提供中文版,以下为英文版

部署适用于 Azure 的 Docker 企业版(标准版/高级版)

预计阅读时间: 3 分钟

使用 Azure 门户将适用于 Azure 的 Docker 企业版(标准版/高级版)快速部署至 Azure 云。部署工作流通过 Docker EE 创建多个节点,它将安装 Universal Control Plane (UCP)Docker Trusted Registry (DTR) 的高可用性版本。如需更多信息,请参阅 Docker 企业版

:您可能会看到对早期品牌名称“Docker Datacenter” 和“DDC”的引用。这些名称相当于适用于 Azure 的 Docker 企业版。

部署适用于 Azure 的 Docker EE 的先决条件

在 Azure 中准备 Docker EE 集群

  1. 在 Web 浏览器中,转至 Azure 门户

  2. 单击 +新增。 这将打开 Marketplace 边栏选项卡。

  3. 在搜索框中,输入“Docker EE”,然后按 Enter 键。

  4. 在搜索结果中,单击适用于 Azure 的 Docker EE(标准版/高级版)。 这将打开“产品说明”边栏选项卡。

  5. 在此边栏选项卡的底部,单击创建。这将打开“创建 Docker EE for Azure”边栏选项卡。

  6. 在“基本”窗格中,填写必填字段。
    • 从您用于运行 create-sp-azure 的 shell 复制服务主体值。
    • 从您在运行 ssh-keygen 或类似工具时保存 的密钥文件中复制 SSH 公钥值。
    • 对于本示例,Swarm 名称是“ddcevalswarm”, 而资源组名称是“ddcevalrg”,但您可以自由选择 自己的值。

    完成后,表单将类似于以下内容:

    适用于 Azure 的 Docker EE 部署的“基本”边栏选项卡

  7. 单击确定。这将打开“Docker EE 设置”边栏选项卡。

  8. 在“设置”边栏选项卡中,填写必填字段。完成后, 表单将类似于以下内容:

    适用于 Azure 的 Docker EE 部署的“设置”边栏选项卡

    DDC 用户名DDC 密码字段用于登录 UCP 和 DTR 用户界面。它们不用于 SSH 访问。

    确保为管理节点和工作节点 选择虚拟机大小。例如,单击工作节点 VM 大小可以打开“选择 大小”边栏选项卡,然后单击全部查看以浏览所有计算产品。 Azure 提供了各种计算能力选项,并且定价 计算器可用于估计每个选项的月度成本。

    适用于 Azure 的 Docker EE 部署的“选择 VM 大小”边栏选项卡

    :所选择的计算机数可以超过您的 Azure 订阅 允许的数目。如果超出限制,下一步中的“摘要”边栏选项卡将会 通知您,并且您可以返回到“设置”边栏选项卡以选择不同的 VM 大小,也可以向订阅添加更多容量。如需更多信息,请参阅 资源管理器核心配额增加请求

  9. 单击确定。这将打开“摘要”边栏选项卡,并且 Azure 将验证您已输入的 设置。如果某些设置未通过验证, 可以返回先前的步骤并进行修正。

    提示:在边栏选项卡底部,单击下载模板和参数 可以将生成的 Azure 资源管理器 (ARM) 模板保存到 本地机器。如需更多信息,请参阅 创建您的第一个 Azure 资源管理器模板

  10. 单击确定。这将打开“购买”边栏选项卡并显示使用条款。如果 您同意,请单击购买。这将打开 Azure 仪表板,并且某个图块中显示 正在部署适用于 Azure 的 Docker EE。资源部署完毕 几分钟后,将为所部署的资源组打开一个边栏选项卡。
![适用于 Azure 的 Docker EE 部署的资源组刀片](/datacenter/images/ddc-azure-resource-group-blade.png)

新资源组中包含什么内容?

运行 Docker EE 所需的一切均已部署,并且资源组会将其全部收集在一个地方。ARM 模板定义了下图中所示的架构。

适用于 Azure 的 Docker EE 部署的架构图

以下是资源组中包含的一些资源。

  • 公共 IP 地址:可以通过在浏览器中访问相应的负载均衡器 来连接至 UCP 和 DTR。此外,您可以使用 SSH 连接至 管理节点。

    适用于 Azure 的 Docker EE 部署的 IP 地址

  • 节点扩展集:管理节点和工作 节点的虚拟机扩展集。如需更多信息,请参阅Azure 中的虚拟机扩展集是什么?
  • 虚拟网络:单击名称类似于 ddcevalswarm-vnet 的 虚拟网络资源,以检查它的架构。在左侧窗格中, 单击以查看网络图。
  • 存储:Docker EE 部署可以为您的镜像设置 Azure 存储。 存储帐户的名称类似于 f4ybe46tzepm4dtr。 通过 DTR 用户界面,可以在“设置 > 存储”页面中查看 详细信息。

查看 UCP 和 DTR 接口

可以通过将 Web 浏览器连接至 UCP 和 DTR 负载均衡器来管理 Docker EE。

  1. 在“资源组”边栏选项卡的左侧窗格中,单击部署。 这将打开“部署”边栏选项卡,其中显示您适用于 Azure 的 Docker EE 部署。 单击名称类似于 docker.dockerdatacenterdocker-datacenter-20170413151533 的部署,以打开“部署详细信息”边栏选项卡。

    适用于 Azure 的 Docker EE 部署的输出 URL

  2. 输出部分中,复制 UCPLOGINURL 中的 URL 并 将其粘贴到 Web 浏览器中。这将打开 UCP 登录页面。如需登录,请使用 您在“设置”边栏选项卡中输入的 DDC 用户名和密码。

  3. 复制 DTRLOGINURL 中的 URL 并将其粘贴至 Web 浏览器的 新选项卡中。这将打开 UCP 界面页面。

使用 SSH 连接至管理节点

除了通过用户界面管理 Docker EE 之外,您也可以使用 SSH 连接至管理节点。您需要使用与创建 Docker EE 部署时提供的公钥对应的私钥。使用 ssh 连接至一个管理节点时,请使用用户名“docker”登录,而不使用您在“设置”边栏选项卡中输入的用户名,该用户名用于 UI。

$ ssh docker@ucplb-feykn7mj53x5q.westus.cloudapp.azure.com -p 50000 -i private-key.rsa
Enter passphrase for key 'private-key.rsa':
Welcome to Docker!
swarm-manager000000:~$

:在 Azure 中,第一个 Docker EE 管理节点会将默认的 SSH 端口 22 映射至端口 50000。后续管理节点将映射至端口 50001、50002, 依此类推。

在管理节点中,您可以运行 docker 命令,例如拉取镜像和启动容器化应用。

设置 DTR 证书颁发机构

如需从本地机器拉取镜像并推送至 Docker Trusted Registry,您需要在本地 Docker 守护进程和 Azure 上的 DTR 之间建立信任。可以通过在本地机器上注册 DTR 证书建立信任关系。按照配置 Docker 引擎中的步骤执行操作。

https://<dtr-url>/ca 中获取证书,它可通过 DTR 负载均衡器的 URL 获取。证书的 URL 类似于 https://dtrlb-feykn7mj53x5q.westus.cloudapp.azure.com/ca

:确保安装证书之后在本地机器上重启 Docker 守护进程,否则在 尝试 `docker login’ 时会收到 X.509 错误。

在适用于 Azure 的 DTR 中创建镜像仓库

当本地机器上的证书颁发机构设置完毕后,您可以将镜像推送至 Azure 上的镜像库。镜像存在于镜像仓库中,因此您需要在 DTR 中创建一个镜像仓库来注册镜像。

  1. 在 Web 浏览器中,浏览至“DTR 镜像仓库”页面,其 URL 类似于 https://dtrlb-feykn7mj53x5q.westus.cloudapp.azure.com/repositories
  2. 单击新建镜像仓库并输入镜像仓库名称。
  3. 单击推送时扫描以启用对所推送镜像的安全扫描。
  4. 单击保存以创建镜像仓库。

向适用于 Azure 的 DTR 推送镜像

DTR 镜像仓库已准备好接收镜像,您可以向其推送镜像,推送方式与将镜像推送至 Docker Store 的方式相同。

  1. 在本地机器上,使用类似于以下内容的 docker login 命令 登录 DTR 镜像仓库:

     $ docker login dtrlb-feykn7mj53x5q.westus.cloudapp.azure.com
    

    当系统提示您输入用户名和密码时,可以使用 您在“设置”边栏选项卡中输入的值,也可以在 DTR 用户界面创建新用户并使用这些凭据登录。

  2. 拉取镜像,例如 golang:1.7

     $ docker pull golang:1.7
    
  3. 标记远程镜像仓库的镜像。命令类似于以下内容:

     $ docker tag golang:1.7 dtrlb-feykn7mj53x5q.westus.cloudapp.azure.com/ddcadmin/azuretest:golang1.7
    
  4. 将标签推送至远程镜像仓库。

     $ docker push dtrlb-feykn7mj53x5q.westus.cloudapp.azure.com/ddcadmin/azuretest:golang1.7
    
  5. 在 DTR 用户界面中,浏览至“镜像仓库”页面,然后单击您的 镜像仓库。这将打开“详细信息”页面。
  6. 单击镜像。您的镜像将显示在列表中,并且如果您在创建镜像仓库时选择了 推送时扫描,将进行扫描。

Docker EE 组件版本

适用于 Azure 的 Docker 企业版基于以下技术栈:

  • Linux 内核 4.9.11-moby
  • Docker UCP 2.1.1
  • Docker Trusted Registry 2.2.3
  • Docker 引擎 17.03.0-ee-1

后续步骤

如需部署适用于 Azure 的 Docker 企业版的更多信息,请参阅:

docker, 企业版, azure, docker ee, docker datacenter, 安装, 编排, 管理, 容器, 部署, 配置, Azure 资源管理器, arm 模板