Docker - docker machine


前言

之前在使用docker的時候,對於docker-machine的理解有一些誤解(之前一直以為docker-machine和docker-engine等價的,只不過是在window或者mac平台上的docker-engine的別名罷了,汗~~~); 今天正好利用這個機會來好好的理一理。

 

定義

登錄官網,搜索到 docker-machine, 官網對於它的定義接單來說就是:一個在“本地”或者“雲平台”上 管理 docker-engine 的工具。(截圖來自官網)

 

在Linux上: 我們可以用它管理遠程的docker host

 

 

在mac/window上:我們可以用它管理本地的 docker engine/host

 

 

正如上述,docker-machine 是在docker-host(物理機器)上面管理 docker-engine的工具,所以它有屬於它自己的一組CLI(command line interface)。

 

下面,我們就來看看,如何在本地使用docker-machine.

 

在win7上使用docker-machine

由於我的本本比較"老",所以只能在win7上面通過virtual box來跑docker.

當我們安裝完成以后,在默認情況下,docker-machine 會自動建立一個名為 “default”的 machine/engine。 如圖

我們再來查看一下當前的docker-machine 列表

 

$ docker-machine ls

 

 

 

可以看到,在我們的列表中有一個defaut, 現在再來創建一個新的 docker-machine/engine (default2):

docker-machine create --driver virtualbox default2

 

 

完成之后,我們可以看到,現在我們有了兩個docker-machine,他們分別運行着各自的 docker-engine

 

 

接下來,我們來檢查 docker-engine : default2 的環境

 

$ docker-machine env default2

 

 

 

通過docker-machine 連接到docker - engine (default2)

$ eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env default2)

 

 

接下來,讓我們使用docker CLI 來跑一個container,測試一下

$ docker run busybox echo hello world

 

OK,一切正常!!這樣我們就在“本機”環境下創建了兩個docker-machine,分別運行着各自的docker-engine  :)

 

最后附上docker-machine 常用的 CLI 列表

$ docker-machine config <docker-machine name>
$ docker-machine env <docker-machine name>
$ docker-machine inspect <docer-machine name>
$ docker-machine ip <docker-machine name>
$ docker-machine kill <docker-machine name>
$ docker-machine provision <docker-machine name>`
$ docker-machine regenerate-certs <docker-machine name>
$ docker-machine restart <docker-machine name>
$ docker-machine ssh <docker-machine name>
$ docker-machine start <docker-machine name>
$ docker-machine status <docker-machine name>
$ docker-machine stop <docker-machine name>
$ docker-machine upgrade <docker-machine name>
$ docker-machine url <docker-machine name>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM