阿里云ECS Docker Machine Driver入门指南

简介:
+关注继续查看

Docker Machine Driver of Aliyun ECS

Docker技术目前在无论在社区还是在企业应用中,都有很强烈的反响。为了使得用户可以在阿里云ECS上体验和使用Docker技术,我们开发了相应的Docker Machine驱动。
在创建machine之前,首先需要有一对阿里云的安全秘钥以及对应的Region信息。如果想创建VPC网络,还需要有VPC ID和VSwitch ID。相关信息的获取可以通过登录阿里云的控制台,选择相应的产品即可管理对应产品的信息。
接下来我们来详细介绍一下如何使用阿里云ECS的Docker Mahine驱动。

创建Machine命令

docker-machine create -d aliyunecs <machine-name> --options

安装

目前安装阿里云Docker Machine Driver有两种方式。一种是通过go install的方式

go install github.com/denverdino/docker-machine-driver-aliyunecs

同时,我们也提供了编译好的软件包供下载。可以移步到 drone.io选择适合自己平台的软件包

Demo

创建ECS的时候,目前可以有两种方式。第一种是可以通过把一些配置信息设置到环境变量中,在这种场景下,我们可以把一些公共的信息放到环境变量中,这样就无需每次都输入相同的参数。

export ECS_ACCESS_KEY_ID ='<Your access key ID>'
export ECS_ACCESS_KEY_SECRET    ='<Your secret access key>'
export ECS_API_ENDPOINT ='<The custom API endpoint>'
export ECS_DESCRIPTION ='<The description of instance>'
export ECS_DISK_SIZE ='<The data disk size>'
export ECS_DISK_CATEGORY ='<The category of data disk>'


docker-machine create -d aliyunecs <machine-name>

或者,所有的参数都通过命令行参数来传递

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>

参数介绍

可以通过以下的命令来查看,阿里云ECS Docker Machine Driver支持的参数列表

docker-machine create -d aliyunecs --help
Option Name Description required
--aliyunecs-access-key-id Your access key ID for the Aliyun ECS API. yes
--aliyunecs-access-key-secret Your secret access key for the Aliyun ECS API. yes
--aliyunecs-api-endpoint The custom API endpoint.
--aliyunecs-description The description of instance.
--aliyunecs-disk-size The data disk size for /var/lib/docker (in GB)
--aliyunecs-disk-category The category of data disk, the valid values could be cloud (default), cloud_efficiency or cloud_ssd.
--aliyunecs-image-id The image ID of the instance to use Default is the latest Ubuntu 14.04 provided by system
--aliyunecs-io-optimized The I/O optimized instance type, the valid values could be none (default) or optimized
--aliyunecs-instance-type The instance type to run. Default: ecs.t1.small
--aliyunecs-internet-max-bandwidth Maxium bandwidth for Internet access (in Mbps), default 1
--aliyunecs-private-address-only Use the private IP address only
--aliyunecs-region The region to use when launching the instance. Default: cn-hangzhou
--aliyunecs-route-cidr The CIDR to use configure the route entry for the instance in VPC. Sample: 192.168.200.0/24
--aliyunecs-security-group Aliyun security group name. Default: docker-machine
--aliyunecs-slb-id SLB id for instance association
--aliyunecs-ssh-password SSH password for created virtual machine. Default is random generated.
--aliyunecs-system-disk-category System disk category for instance
--aliyunecs-tag Tag for the instance.
--aliyunecs-vpc-id Your VPC ID to launch the instance in. (required for VPC network only)
--aliyunecs-vswitch-id Your VSwitch ID to launch the instance with. (required for VPC network only)
--aliyunecs-zone The availabilty zone to launch the instance

环境变量对应的参数以及默认值

CLI option Environment variable Default
--aliyunecs-access-key-id ECS_ACCESS_KEY_ID -
--aliyunecs-access-key-key ECS_ACCESS_KEY_SECRET -
--aliyunecs-api-endpoint ECS_API_ENDPOINT -
--aliyunecs-description ECS_DESCRIPTION -
--aliyunecs-disk-size ECS_DISK_SIZE -
--aliyunecs-disk-category ECS_DISK_CATEGORY -
--aliyunecs-image-id ECS_IMAGE_ID -
--aliyunecs-aliyunecs-io-optimized ECS_IO_OPTIMIZED none
--aliyunecs-instance-type ECS_INSTANCE_TYPE ecs.t1.small
--aliyunecs-internet-max-bandwidth ECS_INTERNET_MAX_BANDWIDTH 1
--aliyunecs-private-address-only ECS_PRIVATE_ADDR_ONLY false
--aliyunecs-region ECS_REGION cn-hangzhou
--aliyunecs-route-cidr ECS_ROUTE_CIDR -
--aliyunecs-security-group ECS_SECURITY_GROUP -
--aliyunecs-slb-id ECS_SLB_ID -
--aliyunecs-ssh-password ECS_SSH_PASSWORD Random generated
--aliyunecs-tag ECS_TAGS -
--aliyunecs-vpc-id ECS_VPC_ID -
--aliyunecs-vswitch-id ECS_VSWITCH_ID -
--aliyunecs-zone ECS_ZONE -

注:环境变量设置的默认参数都会在运行时被命令行传入的参数替换

内核要求

我们默认的Ubuntu镜像对于需要的内核版本为3.16+,另外一些高级的swarm/networking 功能需要更新的内核版本

可以通过 docker-machine ssh登录到ECS,执行 apt-get install -qy linux-image-generic-lts-wily && reboot来升级内核

代码贡献

获取资源

go get github.com/denverdino/docker-machine-driver-aliyunecs
cd $GOPATH/src/github.com/denverdino/docker-machine-driver-aliyunecs

Driver测试

在测试Driver之前,首先要保证当前的构建目录在$PATH中有高的优先级,以便于docker-machine可以引用到它。

export PATH=$GOPATH/src/github.com/denverdino/docker-machine-driver-aliyunecs:$PATH

相关资源

License

Apache 2.0

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
10月前
|
弹性计算 NoSQL 中间件
在云服务器上学习使用Docker
在学习使用过程中,在CentOS7.6下安装Docker,拉取所需中间件的镜像。尝试将本地的目录挂载到Docker容器内的目录,对Docker容器内的文件进行修改。之后,安装DockerCompose,用于部署一个微服务的小demo。通过编写docker-compose.yml文件,进行所需服务的相关配置。将自己电脑本地的项目进行打包,上传至云服务器,最终通过docker-compose的命令完成部署。
|
10月前
|
应用服务中间件 数据库 nginx
使用Docker快速搭建Halo个人博客到阿里云服务器上[附加主题和使用域名访问、无坑系列]
使用Docker快速搭建Halo个人博客到阿里云服务器上[附加主题和使用域名访问、无坑系列]
306 1
使用Docker快速搭建Halo个人博客到阿里云服务器上[附加主题和使用域名访问、无坑系列]
|
10月前
|
开发者 Docker 容器
云服务器——安装Docker
容器化时代来临了,Docker作为开发者必会的一项技能,你首先必须要学会安装它。
165 0
|
12月前
|
弹性计算 前端开发 应用服务中间件
ecs初体验: docker配置 nginx服务器
了解ecs的基本使用, 学习docker的使用, 并制定计划以学习linux网络编程/web前后端的开发
198 0
|
12月前
|
Linux 网络安全 Apache
云服务器安装Docker
其实我觉得对于我新时代学生来说,如果自己有个便宜的服务器,这对我学习Linux是很有帮助的,我的大学虽然有开设Linux的基础课,不过都是在虚拟机上操作,不如真实的服务器。。我就是用服务器部署Docker容器平台。
|
12月前
|
存储 JSON 安全
云服务器CentOS8.2安装部署Docker一文详解
云服务器CentOS8.2安装部署Docker一文详解
268 0
云服务器CentOS8.2安装部署Docker一文详解
|
存储 弹性计算 资源调度
利用阿里云服务器,完成Docker入门学习
Docker是一个容器,非常适合用于云平台。本文主要是docker入门操作以及docker安全相关的小实验
194 0
|
弹性计算 数据安全/隐私保护 Docker
刚开通学生ECS,使用并安装docker和docker-compose
刚开通学生ECS,使用并安装docker和docker-compose
刚开通学生ECS,使用并安装docker和docker-compose
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
415 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
存储 运维 Docker
关于我使用阿里云服务器安装docker+portainer
使用云服务器的项目部署与运维docker+portainer
339 0
关于我使用阿里云服务器安装docker+portainer
相关产品
容器镜像服务
容器服务Kubernetes版
推荐文章
更多