Docker 云
Docker Cloud 是 Docker 提供的一项服务,可以在其中进行以下操作:
多节点(Nodes): 可以将 Docker Cloud 连接到你现有的云提供商,例如 Azure 和 AWS,以在这些环境中启动容器;
云存储库(Cloud Repository): 提供了一个可以存放自己的仓库的地方;
持续集成(Continuous Integration): 与Github连接并构建持续集成管道;
应用部署(Application Deployment): 部署和扩展基础设施和容器;
持续部署(Continuous Deployment): 可以自动化部署。
入门
可以通过以下链接开始使用 Docker Cloud: https://cloud.docker.com/
登录后,将看到以下基本界面:
连接到云提供商
第一步是连接到现有的云提供商。
以下步骤将展示如何与亚马逊云提供商连接。
步骤1: 第一步是要确保你有正确的AWS密钥,这可以从aws控制台中获取,使用以下链接登录你的AWS账户 https://aws.amazon.com/console/ ;
步骤2: 登录后,进入安全凭证部分,记下将从 Docker Hub 使用的访问密钥:
步骤3:接下来,你需要在aws中创建一个策略,允许Docker查看EC2实例,进入aws中的配置文件部分,单击 "Create Policy "按钮:
步骤4: 单击“Create Your Own Policy”,将策略名称指定为dockercloudpolicy以及添加如下所示的策略定义,之后点击“Create Policy”按钮:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:*", "iam:ListInstanceProfiles" ], "Effect": "Allow", "Resource": "*" } ] }
步骤5:创建一个角色(Role),它将被Docker用来在AWS上启动节点。为此,进入AWS的Roles部分,点击Create New Role按钮:
步骤6: 给角色命名为dockercloud-role:
步骤7: 下一步,转到“Role for Cross Account Access(跨账户访问的角色)”并选择“Provide access between your account and a 3rd party AWS account(在你的账户和第 3 方 AWS 账户之间提供访问)”:
步骤8: 下一步,输入以下详细信息:
在 Account ID 字段中,输入 Docker Cloud 服务的 ID:689684103426;
在 External ID 字段中,输入你的 Docker Cloud 用户名。
步骤9: 然后,点击“Next Step”按钮,然后在下一个屏幕上,附加上一步中创建的策略:
步骤10: 最后,在创建角色时的最后一个屏幕,确保复制arn创建的角色:
arn:aws:iam::085363624145:role/dockercloud-role
步骤11: 现在回到Docker Cloud,选择Cloud providers(云供应商),然后单击亚马逊网络服务旁边的插头符号:
输入arn角色并单击Save按钮:
保存后,与 AWS 的集成完成。
设置节点
与 AWS 的集成完成后,下一步是设置节点。转到 Docker Cloud 中的节点部分,请注意,节点的设置将首先自动设置节点集群。
步骤1: 进入Docker Cloud中的Nodes部分:
步骤2: 接下来,提供在 AWS 中设置的节点的详细信息:
然后,单击将出现在屏幕底部的 Launch Node 集群。部署节点后,你将在“Node Cluster”屏幕中收到通知。
部署服务
部署节点后的下一步是部署服务。为此,需要执行以下步骤。
步骤1:进入Docker Cloud的Services,点击 "Create"按钮:
步骤2: 选择需要的服务,在例子中,我们选择mongo:
步骤3: 在下一个屏幕上,选择Create & Deploy选项,这将开始部署Mongo节点集群上的容器:
部署后,将能够看到处于运行状态的容器。