Docker Machine介紹

jopen 9年前發布 | 36K 次閱讀 Docker

Docker Machine是一個簡化Docker安裝的命令行工具,通過一個簡單的命令行即可在相應的平臺上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。Docker官方是這樣介紹Machine的初衷的:

之前,Docker的安裝流程非常復雜,用戶需要登錄到相應的主機上,根據官方的安裝和配置指南來安裝Docker,并 且不同的操作系統的安裝步驟也是不一樣的。而有了Machine后,不管是在筆記本、虛擬機還是公有云實例上,用戶僅僅需要一個命令....當然那你需要 先安裝Machine。

Docker Machine介紹

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</pre>

Machine做事也很聰明,很符合Docker公司的做事風格,他們號稱自己架構很好,方便第三方集成。所以Machine現在只支持有限的幾 個平臺(VirtualBox、 Digital Ocean、Microsoft Azure),其它平臺的兼容留給那些愛Docker的第三方廠商以及開發者去做吧。所以接下來一定會有很多的廠商跟進,比如國內阿里云之類的,他們根據 官方的接口開發個Driver即可加入Machine的能力。

需要注意的是Machine是完全獨立于Docker項目的,目前的主要維護者是也是一位叫Ben的人,當然還是使用Go語言。

感謝郭蕾的投稿。

來自:http://dockerone.com/article/27

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!