Docker Machine
是 Docker 官方編排(Orchestration)項目之一蝶俱,負(fù)責(zé)在多種平臺上快速安裝 Docker 環(huán)境景鼠,基于 Go 語言實現(xiàn)丸冕,目前在 GitHub 上進(jìn)行維護(hù)
安裝
Docker Machine 可以在多種操作系統(tǒng)平臺上安裝畜挨,包括 Linux蓖墅、macOS,及 Windows
macOS曹锨、Windows
Docker for Mac孤个、Docker for Windows 自帶 docker-machine
二進(jìn)制包,安裝后即可使用
$ docker-machine -v
docker-machine version 0.13.0, build 9ba6da9
Linux
在 Linux 上的安裝也十分簡單沛简,從官方 GitHub Release 處直接下載編譯好的二進(jìn)制文件即可
$ sudo curl -L https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` > /usr/local/bin/docker-machine
$ sudo chmod +x /usr/local/bin/docker-machine
查看版本信息
$ docker-machine -v
docker-machine version 0.16.2, build bd45ab13
使用
Docker Machine 支持多種后端驅(qū)動齐鲤,包括虛擬機(jī)、本地主機(jī)和云平臺等
創(chuàng)建本地追實例 Virtualbox 驅(qū)動
使用 virtualbox
類型驅(qū)動椒楣,創(chuàng)建一臺 Docker 主機(jī)给郊,并命名為 test
$ docker-machine create -d virtuslbox test
亦可于創(chuàng)建時添加如下參數(shù)來配置主機(jī)或主機(jī)上的 Docker
-
--engine-opt dns=114.114.114.114
配置 Docker 默認(rèn) DNS -
--engine-refistry-mirror https://registry.docker-cn.com
配置 Docker 的倉庫鏡像 -
--virtualbox-memory 2048
配置主機(jī)內(nèi)存 -
--virtualbox-cpu-count 2
配置主機(jī) CPU
更多參數(shù)請使用 docker-machine create --driver virtualbox --help
查看
$ docker-machine create -d generic --generic-ip-address=123.58.188.19 --generic-ssh-user=root --generic-ssh-key ~/.ssh/id_rsa dev
MacOS xhyve 驅(qū)動
xhyve
驅(qū)動 https://github.com/machine-drivers/docker-machine-driver-xhyve,xhyve
是 MacOS 上的輕量化虛擬引擎捧灰,使用其創(chuàng)建的 Docker Machine 較 VirtualBox 驅(qū)動創(chuàng)建的運行效率要高
$ brew install docker-machine-driver-xhyve
.....
$ docker-machine create -d xhyve --engine-opt dns=114.114.114.114 --engine-registry-mirror https://registry.docker-cn.com --xhyve-memory-size 2048 --xhyve-rawdisk --xhyve-cpu-count 2 xhyve
注意:非首次創(chuàng)建時建議加上 --xhyve-boot2docker-url ~/.docker/machine/cache/boot2docker.iso
參數(shù)淆九,避免每次創(chuàng)建時都從 GitHub 下載 ISO 鏡像
更多參數(shù)請使用 docker-machine create --driver xhyve --help
命令查看
Windows 10
Windows 10 安裝 Docker for Windows 之后不能再安裝 VirtualBox,也就不能使用 virtualbox 驅(qū)動來創(chuàng)建 Docker Machine毛俏,我們可以選擇使用 hyperv 驅(qū)動
$ docker-machine create --driver hyperv vm
更多參數(shù)請使用 docker-machine create --driver hyperv --help
命令查看
使用介紹
創(chuàng)建好主機(jī)之后炭庙,查看主機(jī)
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERROR
Stest - virtualbox Running tcp://192.168.99.187:2376 v17.10.0-ce
創(chuàng)建主機(jī)成功后,可以通過 env
命令來讓后續(xù)操作對象都是目標(biāo)主機(jī)
$ docker-machine env test
后續(xù)根據(jù)提示在命令行輸入命令之后就可以操作 test 主機(jī)煌寇,也可以通過 SSH 登錄至主機(jī)
$ docker-machine ssh test
docker@test:~$ docker --version
Docker version 17.10.0-ce, build f4ffd25
連接到主機(jī)之后就可在其上使用 Docker 了
官方支持驅(qū)動
通過 -d
選項可以選擇支持的驅(qū)動類型
- amazonec2
- azure
- digitalocean
- exoscale
- generic
- hyperv
- none
- openstack
- rackspace
- softlayer
- virtualbox
- vmwarevcloudair
- vmwarefusion
- vmwarevsphere
操作命令
-
active
查看活躍的 Docker 主機(jī) -
config
輸出連接的配置信息 -
create
創(chuàng)建一個 Docker 主機(jī) -
env
顯示連接到某個主機(jī)需要的環(huán)境變量 -
inspect
輸出主機(jī)更多信息 -
ip
獲取主機(jī)地址 -
kill
停止某個主機(jī) -
ls
列出所有管理的主機(jī) -
provision
重新設(shè)置一個已存在的主機(jī) -
regenerate-crets
為某個主機(jī)重新生成 TLS 認(rèn)證信息 -
restart
重啟主機(jī) -
rm
刪除某臺主機(jī) -
ssh
SSH 到主機(jī)上執(zhí)行命令 -
scp
在主機(jī)之間復(fù)制文件 -
mount
掛載主機(jī)目錄至本地 -
start
啟動一個主機(jī) -
status
查看主機(jī)狀態(tài) -
stop
停止一個主機(jī) -
upgrade
更新主機(jī) Docker 版本為最新 -
url
獲取主機(jī)的 URL -
version
輸出docker-machine
版本信息 -
help
輸出幫助信息
每個命令煤搜,帶有不同參數(shù),可通過如下命令查看具體用法
$ docker-machine COMMAND --help