Docker Machine 介绍:简化 Docker 安装的命令行工具

云计算
Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

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

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

[[124579]]

Machine的命令也非常简单:

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

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

  1. $ machine create -d virtualbox dev 
  2. [info] Downloading boot2docker... 
  3. [info] Creating SSH key... 
  4. [info] Creating VirtualBox VM... 
  5. [info] Starting VirtualBox VM... 
  6. [info] Waiting for VM to start... 
  7. [info] "dev" has been created and is now the active host. Docker commands will now run against that host. 
  8.  
  9. $ machine ls 
  10. NAME    ACTIVE   DRIVER         STATE   URL 
  11. dev     *       virtualbox  Running   tcp://192.168.99.100:2375 
  12.  
  13. $ export DOCKER_HOST=`machine url` DOCKER_AUTH=identity 
  14.  
  15. $ docker run busybox echo hello world 
  16. Unable to find image 'busybox' locally 
  17. Pulling repository busybox 
  18. e72ac664f4f0: Download complete 
  19. 511136ea3c5a: Download complete 
  20. df7546f9f060: Download complete 
  21. e433a6c5b276: Download complete 
  22. hello world 
  23.  
  24. $ machine create -d digitalocean --digitalocean-access-token=... staging 
  25. [info] Creating SSH key... 
  26. [info] Creating Digital Ocean droplet... 
  27. [info] Waiting for SSH... 
  28. [info] "staging" has been created and is now the active host. Docker commands will now run against that host. 
  29.  
  30. $ machine ls 
  31. NAME      ACTIVE   DRIVER         STATE     URL 
  32. dev                virtualbox     Running   tcp://192.168.99.108:2376 
  33. staging   *        digitalocean   Running   tcp://104.236.37.134:2376 

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

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

本文出自:http://dockerone.com/article/27

责任编辑:Ophira 来源: dockerone
相关推荐

2010-11-24 17:12:17

MySQL命令行

2020-12-11 06:44:16

命令行工具开发

2020-12-10 16:16:08

工具代码开发

2020-04-26 15:38:28

Docker容器

2011-01-18 19:11:26

Postfix命令行

2023-06-09 07:45:29

Kuberneteskubectl

2010-07-20 14:02:38

Perl命令行参数

2011-08-22 11:51:13

Linuxconfigure

2022-11-18 12:47:51

LinuxAWS命令行工具

2010-05-17 15:41:26

2013-11-15 09:43:15

JDK工具

2009-08-11 09:26:06

2013-12-09 14:29:13

OpenStack命令行工具API

2010-07-15 09:27:25

Perl命令行

2023-12-12 13:22:00

LinuxDocker容器

2010-02-04 15:17:48

Linux wget

2017-06-15 10:32:56

OracleDBV命令行工具

2018-04-03 13:50:27

Linux容器命令行工具

2013-05-21 14:58:08

系统监视glances开源

2015-07-01 09:15:46

linuxQuora命令行
点赞
收藏

51CTO技术栈公众号