Docker Machine介绍

Docker Machine介绍

Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。Docker官方是这样介绍Machine的初衷的:

之前,Docker的安装流程非常复杂,用户需要登录到相应的主机上,根据官方的安装和配置指南来安装Docker,并且不同的操作系统的安装步骤也是不一样的。而有了Machine后,不管是在笔记本、虚拟机还是公有云实例上,用户仅仅需要一个命令....当然那你需要先安装Machine。

docker-whales-transparent_meitu_1.jpg

Machine的命令也非常简单:

% machine create -d [infrastructure provider] [provider options] [machine name]

看着有点懵,infrastructure provider是啥?machine name是啥?我使劲想了半天也没想到好的中文翻译,但是你看例子就明白它们的意思了。

$ machine create -d virtualbox dev
[info] Downloading boot2docker...
[info] Creating SSH key...
[info] Creating VirtualBox VM...
[info] Starting VirtualBox VM...
[info] Waiting for VM to start...
[info] "dev" has been created and is now the active host. Docker commands will now run against that host.

$ machine ls
NAME    ACTIVE   DRIVER         STATE   URL
dev     *       virtualbox  Running   tcp://192.168.99.100:2375

$ export DOCKER_HOST=`machine url` DOCKER_AUTH=identity

$ docker run busybox echo hello world
Unable to find image 'busybox' locally
Pulling repository busybox
e72ac664f4f0: Download complete
511136ea3c5a: Download complete
df7546f9f060: Download complete
e433a6c5b276: Download complete
hello world

$ machine create -d digitalocean --digitalocean-access-token=... staging
[info] Creating SSH key...
[info] Creating Digital Ocean droplet...
[info] Waiting for SSH...
[info] "staging" has been created and is now the active host. Docker commands will now run against that host.

$ machine ls
NAME      ACTIVE   DRIVER         STATE     URL
dev                virtualbox     Running   tcp://192.168.99.108:2376
staging   *        digitalocean   Running   tcp://104.236.37.134:2376

Machine做事也很聪明,很符合Docker公司的做事风格,他们号称自己架构很好,方便第三方集成。所以Machine现在只支持有限的几个平台(VirtualBox、 Digital Ocean、Microsoft Azure),其它平台的兼容留给那些爱Docker的第三方厂商以及开发者去做吧。所以接下来一定会有很多的厂商跟进,比如国内阿里云之类的,他们根据官方的接口开发个Driver即可加入Machine的能力。

需要注意的是Machine是完全独立于Docker项目的,目前的主要维护者是也是一位叫Ben的人,当然还是使用Go语言。

原文发布时间:2014-12-07

本文来自云栖合作伙伴“linux中国”

时间: 2024-10-21 11:27:05

Docker Machine介绍的相关文章

【实战】Docker Machine + Compose + Swarm

本文讲的是[实战]Docker Machine + Compose + Swarm,[编者的话]本文的案例结合了Docker的三大编排工具Docker Machine.Compose与Swarm,值得读者们参阅. Docker现在已经推出了一些新的命令行工具,这些工具可以简单的编排(orchestration )Docker实例.集群以及容器管理.它们是: Docker Machine - 让你轻松部署Docker实例到很多不同的平台. Docker Compose - Fig工具的替代品. D

阿里云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

如何使用Docker Machine创建Swarm集群

本文讲的是如何使用Docker Machine创建Swarm集群,[编者的话]之前,Docker的安装流程非常复杂,用户需要登录到相应的主机上,根据官方的安装和配置指南来安装Docker,并且不同的操作系统的安装步骤也是不一样的.而有了Machine后,不管是在笔记本.虚拟机还是公有云实例上,用户仅仅需要一个命令就轻松搞定安装.当然那你需要先安装Docker Machine.Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker

Docker Machine快速安装Docker环境(二)

什么是Docker Machine? Machine是一个简化安装Docker环境的工具.怎么简化法,例如,在ubuntu安装一个docker环境要按照U这个系统配置教程来装,哪天又换了CentOS系统,又要按照这个系统配置教程装.市场上主流Linux系统版本很多,每次安装岂不有些麻烦.使用Machine工具就简单很多,一两条命令即可在主流Linux系统上安装Docker环境,用户不用考虑什么操作系统. 另一方面,Machine还具备Docker工具管理什么虚拟化技术,Generic驱动默认管理

使用Docker Machine管理阿里云ECS

Docker Machine是一个docker管理工具,它解决了docker的两个问题: docker只能运行在Linux上 docker只能管理运行本机的docker镜像. 本质上docker-machine是一个虚拟机管理工具,它通过创建一个安装好docker的虚拟机(支持VirtualBox,DigitalOcean,EC2等),并设置对应的环境变量(DOCKER_HOST,DOCKER_MACHINE_NAME等),使得本地的docker工具获得透明远程操作虚拟机的能力.从而使本身不支持

在 VirtualBox 中使用 Docker Machine 管理主机

大家好,今天我们学习在 VirtualBox 中使用 Docker Machine 来创建和管理 Docker 主机.Docker Machine 是一个可以帮助我们在电脑上.在云端.在数据中心内创建 Docker 主机的应用.它为根据用户的配置和需求创建服务器并在其上安装 Docker和客户端提供了一个轻松的解决方案.这个 API 可以用于在本地主机.或数据中心的虚拟机.或云端的实例提供 Docker 服务.Docker Machine 支持 Windows.OSX 和 Linux,并且是以一

如何在云服务提供商的平台上使用Docker Machine

大家好,今天我们来了解如何使用Docker Machine在各种云服务提供商的平台上部署Docker.Docker Machine是一个可以帮助我们在自己的电脑.云服务提供商的平台以及我们数据中心的机器上创建Docker机器的应用程序.它为创建服务器.在服务器中安装Docker.根据用户需求配置Docker客户端提供了简单的解决方案.驱动API对本地机器.数据中心的虚拟机或者公用云机器都适用.Docker Machine支持Windows.OSX和Linux,并且提供一个独立的二进制文件,可以直

微软扩展对 Docker 支持,支持 Docker Machine

微软正在努力确保 Azure 成为开发人员构建应用和运行服务最重要的解决方案.包括对 Windows 以及其他开源技术的支持,Azure 希望成为支持不同技术和设备的云平台. 之前微软宣布对 Docker 的支持,今天他们对这个支持进行了扩展,支持 Docker 最新发布的 Docker Machine 和 Docker Swarm . 这意味着: Docker Machine – Azure 客户可自动化创建 Docker 主机,并使用 Docker Machine 客户端进行管理 Docke

如何使用Docker Machine部署Swarm集群

大家好,今天我们来研究一下如何使用Docker Machine部署Swarm集群.Docker Machine提供了标准的Docker API 支持,所以任何可以与Docker守护进程进行交互的工具都可以使用Swarm来(透明地)扩增到多台主机上.Docker Machine可以用来在个人电脑.云端以及的数据中心里创建Docker主机.它为创建服务器,安装Docker以及根据用户设定来配置Docker客户端提供了便捷化的解决方案.我们可以使用任何驱动来部署swarm集群,并且swarm集群将由于