©
本文档使用 PHP中文网手册 发布
在AmazonWeb服务...
创建机器AmazonWeb服务,您必须提供两个参数:AWS访问密钥ID和AWS秘密访问密钥。
在使用amazonc 2驱动程序之前,请确保您已经配置了凭据。
配置凭据的一种方法是为AmazonAWS使用标准凭据文件~/.aws/credentials
文件,该文件可能如下所示:
[default]aws_access_key_id = AKID1234567890 aws_secret_access_key = MY-SECRET-KEY
在mac OS或各种类型的linux上,您可以安装AWS命令行接口%28aws cli
%29在终端中使用aws configure
命令,它指导您创建凭据文件。
这是最简单的方法,然后您可以使用以下方法创建一台新机器:
$ docker-machine create --driver amazonec2 aws01
或者,您可以使用这些标志。--amazonec2-access-key
和--amazonec2-secret-key
在命令行上:
$ docker-machine create --driver amazonec2 --amazonec2-access-key AKI******* --amazonec2-secret-key 8T93C******* aws01
您可以使用环境变量:
$ export AWS_ACCESS_KEY_ID=AKID1234567890 $ export AWS_SECRET_ACCESS_KEY=MY-SECRET-KEY $ docker-machine create --driver amazonec2 aws01
--amazonec2-access-key
::AmazonWebServicesAPI的访问密钥ID。
--amazonec2-ami
要使用的实例的AMI ID。
--amazonec2-block-duration-minutes
:AWS SPOT实例持续时间(分钟为%2860、120、180、240、300或360%29)。
--amazonec2-device-name
实例的根设备名称。
--amazonec2-endpoint
:可选端点URL%28主机名或完全限定URI%29
--amazonec2-iam-instance-profile
AWS IAM角色名用作实例概要文件。
--amazonec2-insecure-transport
:在发送请求时禁用SSL
--amazonec2-instance-type
要运行的实例类型。
--amazonec2-keypair-name
使用AWS键盘;需要-amazonec2-ssh-keypath
--amazonec2-monitoring
*启用云监视监视。
--amazonec2-open-port
::使指定的端口号可从因特网访问。
--amazonec2-private-address-only
::仅使用专用IP地址。
--amazonec2-region
启动实例时要使用的区域。
--amazonec2-request-spot-instance
*使用SPOT实例。
--amazonec2-retries
:为可恢复故障设置重试计数%28use-1以禁用%29
--amazonec2-root-size
实例%28的根磁盘大小(GB%29)。
--amazonec2-secret-key
::AmazonWebServicesAPI的秘密访问密钥。
--amazonec2-security-group
:AWS VPC安全组名称。
--amazonec2-session-token
::AmazonWebServicesAPI的会话令牌。
--amazonec2-spot-price
:竞价型实例竞标价格(以美元计)。要求--amazonec2-request-spot-instance
国旗。
--amazonec2-ssh-keypath
例如,要使用的专用密钥文件的路径。将公钥与。酒吧扩展应该存在
--amazonec2-ssh-user
:SSH登录用户名,它必须与所使用的ami中的默认SSH用户集相匹配。
--amazonec2-subnet-id
:AWS VPC子网ID。
--amazonec2-tags
:AWS额外标签键值对(逗号分隔,例如key1,value1,key2,value2)。
--amazonec2-use-ebs-optimized-instance
::创建一个EBS优化实例,实例类型必须支持它。
--amazonec2-use-private-address
使用专用IP地址的对接机,但仍然创建一个公共IP地址.
--amazonec2-userdata
使用云init用户数据进行文件的路径。
--amazonec2-volume-type
::要附加到实例的AmazonEBS卷类型。
--amazonec2-vpc-id
:您的vpc ID启动实例。
--amazonec2-zone
:在AWS区域中启动实例(即a,b,c,d,e中的一个)。
CLI选项 | 环境变量 | 默认 |
---|---|---|
--amazonec2接入密钥 | AWS_ACCESS_KEY_ID | - |
--amazonec2秘密密钥 | AWS_SECRET_ACCESS_KEY | - |
--amazonec2会话令牌 | AWS_SESSION_TOKEN | - |
--amazonec2-朋友 | AWS_AMI | ami-5f709f34 |
--amazonec2区域 | AWS_DEFAULT_REGION | 美国 - 东 - 1 |
--amazonec2-VPC-ID | AWS_VPC_ID | - |
--amazonec2区 | AWS_ZONE | 一个 |
--amazonec2子网的ID | AWS_SUBNET_ID | - |
--amazonec2安全组 | AWS_SECURITY_GROUP | docker-machine |
--amazonec2标签 | AWS_TAGS | - |
--amazonec2实例型 | AWS_INSTANCE_TYPE | t2.micro |
--amazonec2-设备名称 | AWS_DEVICE_NAME | / dev / sda1 |
--amazonec2根尺寸 | AWS_ROOT_SIZE | 16 |
--amazonec2容量式 | AWS_VOLUME_TYPE | GP2 |
--amazonec2-IAM实例瞩目 | AWS_INSTANCE_PROFILE | - |
--amazonec2-SSH用户 | AWS_SSH_USER | Ubuntu |
--amazonec2请求现场实例 | - | 假 |
--amazonec2-现货价格 | - | 0.50 |
--amazonec2 - 使用 - 私人地址 | - | 假 |
--amazonec2-私人地址,只 | - | 假 |
--amazonec2监控 | - | 假 |
--amazonec2使用-EBS优化实例 | - | 假 |
--amazonec2-SSH-的keyPath | AWS_SSH_KEYPATH | - |
--amazonec2重试次数 | - | 5 |
默认情况下,AmazonEC 2驱动程序将使用Ubuntu 16.04 lts的每日映像。
地区 | AMI ID |
---|---|
ap-northeast-1 | ami-b36d4edd |
ap-southeast-1 | ami-1069af73 |
ap-southeast-2 | ami-1d336a7e |
ca-central-1 | ami-ca6ddfae |
cn-north-1 | ami-79eb2214 |
eu-west-1 | ami-8aa67cf9 |
eu-central-1 | ami-fe408091 |
sa-east-1 | ami-185de774 |
us-east-1 | ami-26d5af4c |
us-west-1 | ami-9cbcd2fc |
us-west-2 | ami-16b1a077 |
us-gov-west-1 | ami-b0bad893 |
注意,将创建一个安全组并将其与主机相关联。此安全组将打开以下入站端口:
ssh (22/tcp)
docker (2376/tcp)
swarm(3376 / tcp),只有当该节点是swarm主节点时
如果使用--amazonec2-security-group
标志,将检查和打开上述端口,并修改安全组。如果您希望打开更多端口,比如特定于应用程序的端口,请使用AWS控制台并手动修改配置。
我们在命令开始时确定默认的VPC ID。在某些情况下,由于您的帐户没有默认的vpc,或者您不想使用默认的vpc,您可以使用--amazonec2-vpc-id
旗子。
若要查找VPC ID,请执行以下操作:
登录到AWS控制台
转到服务 - > VPC - >您的VPC。
从VPC列中找到您想要的VPC ID 。
去服务->vpc->子网.检查可用区列来验证该区域。a
存在并匹配您的VPC ID。
例如,us-east1-a
在a
可用性区域。如果a
区域不存在,您可以在该区域中创建一个新的子网,或者在创建计算机时指定一个不同的区域。
若要创建具有非默认vpc-ID的计算机:
$ docker-machine create --driver amazonec2 --amazonec2-access-key AKI ******* --amazonec2-secret-key 8T93C ********* --amazonec2-vpc-id vpc- ****** aws02
此示例假定VPC ID位于a
可用性区域。使用--amazonec2-zone
属性以外的区域。a
区域。例如,--amazonec2-zone c
意指us-east1-c
...
机器使用SSH来完成EC2中实例的设置,并要求能够直接访问实例。
如果您使用该标志--amazonec2-private-address-only
,则需要确保您有一些方法可以从VPC的内部网络中访问新实例(例如,公司VPN到VPC,VPC内的VPN实例或使用Docker-machine您的VPC中的一个实例)。
vpc的配置超出了本指南的范围,但是故障排除的第一步是确保如果您使用的是私有子网,那么您将遵循AWS VPC用户指南并有某种形式的NAT可用,使设置进程可以访问互联网完成设置。
默认AMI的默认SSH用户名是ubuntu
。
只有当您使用的自定义AMI具有不同的SSH用户名时,才需要更改SSH用户名。
您可以--amazonec2-ssh-user
根据您选择的AMI 更改SSH用户名--amazonec2-ami
。