使用Docker Machine管理阿里云ECS

Docker Machine是一个docker管理工具,它解决了docker的两个问题:

  1. docker只能运行在Linux上
  2. 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

时间: 2024-10-29 14:19:18

使用Docker Machine管理阿里云ECS的相关文章

阿里云ECS Docker Machine Driver入门指南

+++ title = "Aliyun Elastic Compute Service" description = "Aliyun driver for machine" keywords = ["machine, aliyun, driver, ecs"] [menu.main] parent="smn_machine_drivers" +++ Docker Machine Driver of Aliyun ECS Doc

阿里云ECS拥抱Docker

阿里云ECS用户能使用Docker容器应用了,您能在ECS上把应用打包成Docker镜像.运行Docker容器,从我们提供的镜像库中快速下载官方镜像,或者部署自己的私有镜像库,并和伙伴们分享和协作. 什么是Docker? Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目.它基于Google公司推出的Go语言实现. Docker以Linux容器LXC为基础,实现轻量级的操作系统虚拟化解决方案.在LXC的基础上Docker进行了进一步的封装,让用户不需要去

阿里云ECS服务器CentOS7上用户管理操作

阿里云ECS服务器CentOS7上用户管理操作 ---------------------------------------------- 使用root登录 # 查看系统中所有用户 [root@localhost ~]# cut -d : -f 1 /etc/passwd # 查看可以登录系统的用户 [root@localhost ~]# cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 # 查看登录用户 [root@localho

国内首家 Docker新增支持阿里云OSS

近年来,开源的容器应用引擎Docker在企业IT市场中风生水起,短短两年内,建立在Docker容器软件内的应用被下载5.35亿次.全球约有400万人在使用Docker,约有150,000个在线应用靠Docker容器运行,大型企业正在空前快速地测试或计划采用Docker,胜过其他任何开源的云端产品. 8月12日,Docker1.8和Docker Registry 2.1发布,新版本中加入了Docker Registry对阿里云开放存储服务的正式支持,阿里云成为被Docker官方支持的存储服务的云服

阿里云ECS服务器搭建wordpress个人博客网站【详细图文教程】

阿里云ECS服务器搭建wordpress个人博客网站[小白专用的图文教程] 在阿里云上搭建使用个人博客主要分为以下几个步骤: 1.购买阿里云ECS主机 2.购买域名 3.申请备案 4.环境配置 5.安装wordpress 6.域名解析 声明一下,本人对服务器端的知识不是很熟悉,但一心想做个自己的个人网站装一下哔,特此记录一下完整的配置过程,也算是给其他小白们的一剂福利吧.   开发环境: 物理机版本:Win 7 旗舰版(64位) xshell版本:Xshell 5 Build 0806 xftp

【推荐】如何使用好阿里云的网络安全隔离?深入分享阿里云ECS安全组实践经验

近期针对安全的话题非常火爆.特别邀请阿里云专家撰写一组文章,深入分享阿里云ECS安全组实践经验. 阿里云的ECS有经典网络和专有网络(VPC)两种网络类型.经典网络基于阿里云基础网络,通过安全组(类似虚拟防火墙)的一系列数据链路层.网络层访问控制策略实现资源隔离.安全组策略是白名单的方式,不同租户的服务器会处于不同的安全组,默认情况下安全组仅会放行同租户同安全组内的访问请求. 因此安全组和防火墙一样,一般建议配置最小开放原则,关闭不需要外部访问的端口,仅放行必要的入网地址,避免配置的过于开放而给

使用阿里云ECS自动化配置框架对实例的管理员账号进行自定义

1. 实例自动化配置框架 实例自动化配置框架是阿里云ECS为用户提供的一种自定义实例启动行为的架构,详细信息请参考阿里云线上帮助文档:https://help.aliyun.com/knowledge_detail/49121.html   本文档主要介绍怎么通过该框架在创建实例时让用户自己定义实例的管理员用户的方法. 2. 场景 用户想要在阿里云ECS购买时中达到如下的效果: 1) 不使用ECS默认自带的root用户作为管理员(具体用户可在脚本中进行禁止远程登录) 2) 创建一个新的管理员用户

云服务器 ECS 配置:阿里云ECS Windows Server 2012 搭建AD

阿里云ECS Windows Server 2012 搭建AD 简介 Active Directory(简称AD,即" 活动目录"的意思),是微软下面的核心组件,其主要优势是实现高效管理(例如,批量管理用户,部署应用,更新补丁等等),而且微软很多的套件(Exchange,故障转移群集)也是需要域环境支持. 安装 安装之前我们介绍域里面的几个常见名词以及必要条件. 名词解释 Domain Controllers(DC)域控制器 Organizational Unit(OU)组织单位 Di

什么是轻量应用服务器?与阿里云ecs和虚拟主机有什么区别?阿里云优惠券领取

什么是阿里云轻量应用服务器?  轻量应用服务器是面向入门级云计算及简单应用用户,提供基于单台云服务器的域名管理.应用部署.安全和运维管理的一站式综合服务.用户可以选择精品应用镜像(比如wordpress),并可在控制台实现全方位的服务器.域名.防火墙.安全防控.监控等管理和操作.轻量应用服务器 (Simple Application Server),是可快速搭建且易于管理的轻量级云服务器. 阿里云轻量应用服务器的优点是什么? 1.易用易上手. 产品针对单机用户的购买和使用做了操作和使用优化,提供