使用DockerMachine管理阿里雲ECS
Docker Machine是一個docker管理工具,它解決了docker的兩個問題:
- docker只能執行在Linux上
- docker只能管理執行本機的docker映象。
本質上docker-machine是一個虛擬機器管理工具,它通過建立一個安裝好docker的虛擬機器(支援VirtualBox,DigitalOcean,EC2等),並設定對應的環境變數(DOCKER_HOST,DOCKER_MACHINE_NAME等),使得本地的docker工具獲得透明遠端操作虛擬機器的能力。從而使本身不支援docker的Windows和Mac系統能夠直接使用docker命令。
docker-machine的安裝可以通過docker-toolbox (支援Windows和Mac),如果是Mac電腦,推薦直接使用brew安裝。
使用docker-machine建立一臺虛擬機器非常簡單:
#建立一臺名為vb的本地Virtualbox虛擬機器
docker-machine create --driver virtualbox vb
#建立一臺名為do的Digitalocean遠端伺服器
export DIGITALOCEAN_ACCESS_TOKEN=xxxxx #從digitalocean的管理皮膚獲取的token
export DIGITALOCEAN_SIZE="512mb" #記憶體512mb,1gb類似
export DIGITALOCEAN_IMAGE="ubuntu-14-04-x64" #系統Ubuntu 14.04
export DIGITALOCEAN_REGION="sgp1" #區域新加坡
docker-machine create --driver digitalocean do
可通過docker-machine ls
檢視當前所有的虛擬機器,docker-machine ssh vb
可ssh到指定虛擬機器,預設是一個精簡的Linux系統。執行eval $(docker-machine env do)
後,設定相關環境變數指向名為do
的虛擬機器,後續docker命令都會遠端的在這臺虛擬機器上執行。如:這個時候執行docker images
列出的是Digitalocean遠端伺服器上的docker映象。
詳細使用方法參考官方文件。
這裡主要想講的是docker-machine對阿里雲的支援。
docker-machine不支援直接建立阿里雲ECS,雖然有第三方外掛,但我只想用docker-machine遠端安裝管理docker的功能,建立和刪除ECS還是在阿里雲的控制檯操作比較放心:)
搜尋一下文件,發現官方雖然沒有阿里雲driver但有一個generic driver,可通過ssh管理現有的機器,原則上所有的Linux機器都支援。
但有一個問題,docker-machine的ssh功能只支援基於Public Key認證,而阿里雲建立虛擬機器的時候只支援通過密碼登入,所以還需配置一下Public Key,如果是Mac電腦:
export ECS_IP=0.0.0.0 #阿里雲控制檯建立的ecs的ip地址
brew install ssh-copy-id
ssh-copy-id -i ~/.ssh/id_rsa.pub root@$ECS_IP
ssh root@$ECS_IP #測試是否不用輸入密碼就登入了
公鑰認證搞定後,建立阿里雲的docker-machine
export ECS_IP=0.0.0.0 #阿里雲控制檯建立的ecs的ip地址
docker-machine create --driver generic --generic-ip-address=$ECS_IP aliyun-machine
也可在建立的時候加上阿里雲的docker加速器地址
export ECS_IP=0.0.0.0 #阿里雲控制檯建立的ecs的ip地址
export ALI_MIRROR=https://0i912uv5.mirror.aliyuncs.com #從dev.aliyun.com後臺獲取你的專屬加速器,這個是假的並不能用
docker-machine create --engine-registry-mirror=$ALI_MIRROR --driver generic --generic-ip-address=$ECS_IP aliyun-machine
建立完成後,記得eval $(docker-machine env aliyun-machine)
一下,即可用本地的docker遠端操作阿里雲ECS上的docker映象了。
最後,用docker-machine來玩玩這個微信機器人吧
http://dev.aliyun.com/detail.html?repoId=2859
相關文章
- 雲伺服器ECS使用OpenAPI管理ECS:使用OpenAPI彈性建立ECS例項伺服器API
- 使用阿里雲ECS建立聊天機器人阿里機器人
- 什麼是阿里雲ECS?阿里
- 阿里雲ECS被攻擊阿里
- 使用PolarDB和ECS搭建入口網站(阿里雲)網站阿里
- 使用阿里雲ECS釋出網站的基本步驟阿里網站
- 阿里雲ECS部署Grafana接入zabbix阿里Grafana
- 使用OpenApi彈性管理雲伺服器ECSAPI伺服器
- 阿里雲伺服器ECS選型阿里伺服器
- 阿里雲伺服器ECS配置LNMP阿里伺服器LNMP
- 阿里雲伺服器 ECS 選購指南阿里伺服器
- 基於ECS搭建FTP服務(阿里雲)FTP阿里
- 可觀測實踐|如何使用阿里雲 Prometheus 觀測 ECS 應用阿里Prometheus
- 阿里雲體驗有禮:使用RDS和ECS搭建個人部落格阿里
- 阿里雲伺服器ECS新增“統一到期日”功能支援,使用者管理成本將大幅降低阿里伺服器
- 阿里雲伺服器企業版ECS該如何選擇及使用教程阿里伺服器
- 阿里雲ECS伺服器配置全攻略阿里伺服器
- 阿里雲ECS雲伺服器新手上路阿里伺服器
- 阿里雲ECS全球啟用秒級計費阿里
- 阿里雲ecs 伺服器配置 nginx https阿里伺服器NginxHTTP
- 如何使用阿里雲管理控制檯阿里
- 阿里雲ECS建站起步要點二:外部SSH工具連線ECS注意事項阿里
- 怎樣使用阿里雲國際版ecs例項建立單個雲盤快照-Unirech阿里雲代充阿里
- 使用容器快速在阿里雲 ECS 多節點上搭建 Citus 12.1 叢集阿里
- 阿里雲伺服器ECS適合哪些場景?阿里伺服器
- 阿里雲的ecs伺服器,建立ftp站點阿里伺服器FTP
- 阿里雲伺服器ECS例項建立記錄阿里伺服器
- 阿里雲伺服器ecs配置之安裝mysql阿里伺服器MySql
- Docker 導致阿里雲 ECS 內網互通失敗Docker阿里內網
- 如何從阿里雲ECS遷移到AWS EC2?阿里
- 阿里雲618有獎體驗:使用PolarDB和ECS搭建入口網站阿里網站
- 【推薦】如何使用好阿里雲的網路安全隔離?深入分享阿里雲ECS安全組實踐經驗阿里
- DATEGE:阿里雲國際雲伺服器ecs建站流程阿里伺服器
- 阿里雲RDS與ECS自建庫搭建主從複製阿里
- 阿里雲ECS伺服器部署Dart服務端程式阿里伺服器Dart服務端
- 阿里雲伺服器ECS搭建網站詳細教程阿里伺服器網站
- 阿里雲ECS磁碟擴容不生效處理辦法阿里
- 詳解阿里雲ECS上部署SSL證書的方法阿里