Docker Machine


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-xhyvexhyve 是 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
  • google
  • 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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末唧席,一起剝皮案震驚了整個濱河市擦盾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌淌哟,老刑警劉巖迹卢,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異徒仓,居然都是意外死亡腐碱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來症见,“玉大人喂走,你說我怎么就攤上這事∧弊鳎” “怎么了芋肠?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長遵蚜。 經(jīng)常有香客問我帖池,道長,這世上最難降的妖魔是什么吭净? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任睡汹,我火速辦了婚禮,結(jié)果婚禮上寂殉,老公的妹妹穿的比我還像新娘囚巴。我一直安慰自己,他們只是感情好友扰,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布彤叉。 她就那樣靜靜地躺著,像睡著了一般焕檬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上澳泵,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天实愚,我揣著相機(jī)與錄音,去河邊找鬼兔辅。 笑死腊敲,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的维苔。 我是一名探鬼主播碰辅,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼介时!你這毒婦竟也來了没宾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤沸柔,失蹤者是張志新(化名)和其女友劉穎循衰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體褐澎,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡会钝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了工三。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片迁酸。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡先鱼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奸鬓,到底是詐尸還是另有隱情焙畔,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布全蝶,位于F島的核電站闹蒜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏抑淫。R本人自食惡果不足惜绷落,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望始苇。 院中可真熱鬧砌烁,春花似錦、人聲如沸催式。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽荣月。三九已至管呵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哺窄,已是汗流浹背捐下。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留萌业,地道東北人坷襟。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像生年,于是被迫代替她去往敵國和親婴程。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容