Docker Machine的作用
- docker目前不支持mac跟win轴咱,如果想在這兩個(gè)平臺(tái)上運(yùn)行,就要安裝這個(gè)工具烈涮。
- docker在不同的linux上得安裝方法不一樣朴肺,通過這個(gè)工具可以提供統(tǒng)一的安裝方法。
Docker Machine與Docker Engine的區(qū)別
如上圖所示坚洽,一般我們談到docker的時(shí)候指的是docker engine戈稿。它包含三個(gè)部分。CLI(解析命令行的工具)Server(一個(gè)restful的服務(wù)區(qū))RestApi(CLI與Server進(jìn)行通訊的接口)
Docker 的結(jié)構(gòu)如上圖所示讶舰,包括Docker Machine自己的客戶端跟docker的客戶端桶癣,還有Rest Api腊瑟。這樣就可以用他們跟不同的主機(jī)上的docker進(jìn)行通信了洛退。從而起到管理多個(gè)docker Engine的效果敲霍。
Mac 安裝
mac安裝Docker Machine要使用Docker Toolbox,其中包括:
- Docker Machine binary
- Docker Engine binary
- Docker Compose binary
- Kitematic Docker 的GUI
- 一個(gè)shell格式的預(yù)配置文件
- VirtualBox
安裝前需要知道的內(nèi)容
如上圖所示庐舟,在Linux上欣除,跟docker的客戶端,守護(hù)進(jìn)程跟容器運(yùn)行在同意太物理機(jī)器上挪略。
但是在mac上历帚,docker后臺(tái)進(jìn)程運(yùn)行在一個(gè)叫做default的Linux虛擬機(jī)上。
docker的host address是這臺(tái)虛擬機(jī)的地址杠娱。當(dāng)你使用docker-machine啟動(dòng)這臺(tái)虛擬機(jī)的時(shí)候挽牢,這臺(tái)虛擬機(jī)會(huì)被分配一個(gè)ip地址。當(dāng)運(yùn)行一個(gè)docker容器的時(shí)候摊求,容器的port會(huì)跟這臺(tái)虛擬機(jī)進(jìn)行綁定禽拔。
啟動(dòng)一個(gè)本地容器
- 創(chuàng)建一個(gè)新的virtual machine
- 設(shè)定環(huán)境到新的VM
- 使用docker client創(chuàng)建,加載和管理容器
具體命令如下:
docker-machine create --driver virtualbox default
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...
To see how to connect Docker to this machine, run: docker-machine env default
上面的命令在VirtualBox中創(chuàng)建了一個(gè)新的 default VM 。
同時(shí)也創(chuàng)建了一個(gè)份配置睹栖,在~/.docker/machine/machines/default路徑下硫惕。
$ eval "$(docker-machine env default)"
上面的命令為你正在操作的shell設(shè)置環(huán)境變量。每次打開一個(gè)shell的時(shí)候都需要進(jìn)行這個(gè)操作野来。