阅读背景:

docker-machine在阿里云使用

来源:互联网 

教程页https://github.com/AliyunContainerService/docker-machine-driver-aliyunecs
下载

然后要有个阿里云的账号,里面的余额要大于100元

docker-machine create -d aliyunecs --aliyunecs-tag provider=aliyuncos --aliyunecs-tag version=1.0 --aliyunecs-disk-size=20 --aliyunecs-io-optimized=optimized --aliyunecs-description=aliyunecs-machine-driver --aliyunecs-instance-type=<InstanceType> --aliyunecs-access-key-id=<Your access key ID for the Aliyun ECS API> --aliyunecs-access-key-secret=<Your secret access key for the Aliyun ECS API>  --aliyunecs-disk-category=<DiskCategory>  --aliyunecs-region=<Region>--aliyunecs-ssh-password=<SSH Password> <machine-name>

代码就这样,官网也有介绍,这里我详细介绍一下需要填写的几个参数

aliyunecs-instance-type,图片中的实例规格,我这里选择计算性中的最便宜的ecs.c5.large

aliyunecs-access-key-id 这个悬停阿里云自己的个人中心的头像就可以看到accesskeys,点进去就看到了



Access Key ID 是可以直接看到的,Access Key Secret需要点击查看后,获取手机验证码才能看到,

--aliyunecs-disk-category 这个默认就行,这个参数可以不加
--aliyunecs-region 选择区域后看url后面的参数,比如这个图就是cn-qingdao

--aliyunecs-ssh-password 这个就不需要多说了,密码尽量复杂点
machine-name 这个随便写,比如seth_test
再说下其他不用填写的参数
--aliyunecs-tag provider=aliyuncos --aliyunecs-tag version=1.0 这部分只是说明可以不加
-aliyunecs-disk-size=20 至于大小,系统盘老版本的是20G,新版本的给提到了40G,这里不加就行,就不要加了
--aliyunecs-io-optimized=optimized 这里当然是优化了,顺便引用下官方的说明,因为送的40G系统盘默认就是SSD的,所以必须优化


I/O 优化实例
挂载 SSD云盘或高效云盘时能够获得云盘的全部存储性能,因为 I/O 优化为实例与云盘之间提供更好的网络能力,可保证云盘存储性能的发挥。
I/O 优化实例支持密钥对。
I/O 优化实例加专有网络支持 cloud-init。
非 I/O 优化实例
挂载 SSD云盘时,通常最高可获得 1000 左右的 IOPS 性能;挂载高效云盘时,通常最高可获得数百的 IOPS 性能。

--aliyunecs-description=aliyunecs-machine-driver 加个说明,可以不加,无所谓的


所以最后我的命令是
docker-machine create -d aliyunecs --aliyunecs-io-optimized=optimized --aliyunecs-instance-type=ecs.c5.large --aliyunecs-access-key-id=gDcBDeBnPJSE9WU7 --aliyunecs-access-key-secret=atx5oDLzl8Que0K8klzIg6RJWtvgwM --aliyunecs-region=cn-hangzhou --aliyunecs-ssh-password=It3a3mkbJDdXGNHn sethDemo

把能删的都删了,嘿嘿
卖个关子,上面的命令创建失败,
会这么提示,实例规格不支持,
Creating machine…
(sethDemo) sethDemo | Creating key pair for instance …
(sethDemo) sethDemo | Configuring security groups instance …
(sethDemo) sethDemo | Creating instance with image ubuntu_160401_64_40G_cloudinit_20161115.vhd …
Error creating machine: Error in driver during machine creation: sethDemo | Failed to create instance: Aliyun API Error: RequestId: 4EB5F9FE-A9BB-4A43-9959-84E56DB6E401 Status Code: 403 Code: InvalidResourceType.NotSupported Message: This resource type is not supported; please try other resource types.
不知道为什么,新一代的我都试了下,没办法都不行,选择所有代,我试了下ecs.sn2.medium的规格的是没问题的
如果不出所料,应该只有sn规格的没问题
创建失败了怎么办
docker-machine ls 会看到一个创建失败的
sethDemo - aliyunecs Error Unknown Aliyun API Error: RequestId: B84F4B7A-1FC5-4FB8-B70B-685F52C479C6 Status Code: 400 Code: MissingParameter Message: The input parameter “InstanceId” that is mandatory for processing this request is not supplied.
这么提示的,先删除docker-machine rm sethDemo,呵呵了,删除不掉,
$ docker-machine rm sethDemo
About to remove sethDemo
WARNING: This action will delete both local reference and remote instance.
Are you sure? (y/n): y
Error removing host “sethDemo”: sethDemo | Unknown instance id
不好意思不给删除,命令是没错的,但是因为不是创建成功的实例,所以无法识别id
然后我就放大招, sudo find / -name sethDemo
找到了文件的位置cd /home/seth/.docker/machine/machines/
rm -rf sethDemo就好了
再贴一次执行的命令
docker-machine create -d aliyunecs –aliyunecs-io-optimized=optimized –aliyunecs-instance-type=ecs.sn2.medium –aliyunecs-access-key-id=gDcBDeBnPJSE9WU7 –aliyunecs-access-key-secret=atx5oDLzl8Que0K8klzIg6RJWtvgwM –aliyunecs-region=cn-hangzhou –aliyunecs-ssh-password=It3a3mkbJDdXGNHn sethDemo

创建完成,但有些人docker-machine ssh sethDemo一进去,立马不乐意了,怎么是ubuntu的系统,是的,默认就是ubuntu的,阿里给的创建例子里面其实还是少了个–aliyunecs-image-id,
新的命令
docker-machine create -d aliyunecs –aliyunecs-io-optimized=optimized –aliyunecs-instance-type=ecs.sn2.medium –aliyunecs-access-key-id=gDcBDeBnPJSE9WU7 –aliyunecs-access-key-secret=atx5oDLzl8Que0K8klzIg6RJWtvgwM –aliyunecs-region=cn-hangzhou –aliyunecs-image-id=centos_7_04_64_20G_alibase_201701015.vhd –aliyunecs-ssh-password=It3a3mkbJDdXGNHn sethDemo2
有些人可能又迷糊了,imageid去哪找,url也不显示呢,这个要点技术活了

打开F12,选择系统,我选择的是7.4的,点击url请求,在右边会有详细,复制imageid就好了

附加一份创建ubuntu系统的日志

附加一份创建centos7.4系统的日志

上一份阿里的服务器图片


分享到: