阿里雲ECSDockerMachineDriver入門指南
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
相關資源
- Docker Machine: https://docs.docker.com/machine/
- Contribute: https://github.com/denverdino/docker-machine-driver-aliyunecs
- Report bugs: https://github.com/denverdino/docker-machine-driver-aliyunecs/issues
License
Apache 2.0
相關文章
- Zookeeper入門指南
- CPack 入門指南
- Docker 入門指南Docker
- numpy入門指南
- EOS 入門指南
- Vue 入門指南Vue
- RabbitMQ入門指南MQ
- Nginx入門指南Nginx
- Vagrant 入門指南
- React 入門指南React
- Flask 入門指南Flask
- gulp入門指南
- OSWorkFlow入門指南
- CouchDB 入門指南
- RxJava入門指南RxJava
- ODA入門指南
- MySQL 入門指南MySql
- Markdown入門指南
- KNIME快速入門指南
- Markdown快速入門指南
- CodeMirror入門指南
- GitHub Actions 入門指南Github
- RequireJS入門指南UIJS
- Vuex新手入門指南Vue
- Airflow使用入門指南AI
- 自學機器學習入門指南機器學習
- Maven入門指南(一)Maven
- Bash快速入門指南
- mongoDB 入門指南、示例MongoDB
- 資訊保安入門指南
- 《Gulp 入門指南》- 前言
- Firebug入門指南
- sap入門--操作指南
- Vue 3入門指南Vue
- Spring入門指南Spring
- 混沌工程入門指南
- Storm入門指南第二章 入門ORM
- Java初學者入門指南Java