Docker Machine
簡介
Docker Machine 是一種可以讓您在虛擬主機上安裝 Docker 的工具,並可以使用 docker-machine 命令來管理主機。
Docker Machine 也可以集中管理所有的 docker 主機,比如快速的給 100 臺伺服器安裝上 docker。
Docker Machine 管理的虛擬主機可以是機上的,也可以是雲供應商,如阿裏雲,騰訊雲,AWS,或 DigitalOcean。
使用 docker-machine 命令,您可以啟動,檢查,停止和重新啟動託管主機,也可以升級 Docker 客戶端和守護程式,以及配置 Docker 客戶端與您的主機進行通信。
安裝
安裝 Docker Machine 之前你需要先安裝 Docker。
Docker Mechine 可以在多種平臺上安裝使用,包括 Linux 、MacOS 以及 windows。
Linux 安裝命令
$ base=https://github.com/docker/machine/releases/download/v0.16.0 && curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine && sudo mv /tmp/docker-machine /usr/local/bin/docker-machine && chmod +x /usr/local/bin/docker-machine
macOS 安裝命令
$ base=https://github.com/docker/machine/releases/download/v0.16.0 && curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine && chmod +x /usr/local/bin/docker-machine
Windows 安裝命令
如果你是 Windows 平臺,可以使用 Git BASH,並輸入以下命令:
$ base=https://github.com/docker/machine/releases/download/v0.16.0 && mkdir -p "$HOME/bin" && curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" && chmod +x "$HOME/bin/docker-machine.exe"
查看是否安裝成功:
$ docker-machine version docker-machine version 0.16.0, build 9371605
使用
本章通過 virtualbox 來介紹 docker-machine 的使用方法。其他雲服務商操作與此基本一致。具體可以參考每家服務商的指導文檔。
1、列出可用的機器
可以看到目前只有這裏默認的 default 虛擬機。
$ docker-machine ls
2、創建機器
創建一臺名為 test 的機器。
$ docker-machine create --driver virtualbox test
- --driver:指定用來創建機器的驅動類型,這裏是 virtualbox。
3、查看機器的 ip
$ docker-machine ip test
4、停止機器
$ docker-machine stop test

5、啟動機器
$ docker-machine start test
6、進入機器
$ docker-machine ssh test
docker-machine 命令參數說明
-
docker-machine active:查看當前啟動狀態的 Docker 主機。
$ docker-machine ls NAME ACTIVE DRIVER STATE URL dev - virtualbox Running tcp://192.168.99.103:2376 staging * digitalocean Running tcp://203.0.113.81:2376 $ echo $DOCKER_HOST tcp://203.0.113.81:2376 $ docker-machine active staging
- config:查看當前啟動狀態 Docker 主機的連接資訊。
- creat:創建 Docker 主機
- env:顯示連接到某個主機需要的環境變數
- inspect: 以 json 格式輸出指定Docker的詳細資訊
- ip: 獲取指定 Docker 主機的地址
- kill: 直接殺死指定的 Docker 主機
- ls: 列出所有的管理主機
- provision: 重新配置指定主機
- regenerate-certs: 為某個主機重新生成 TLS 資訊
- restart: 重啟指定的主機
- rm: 刪除某臺 Docker 主機,對應的虛擬機也會被刪除
- ssh: 通過 SSH 連接到主機上,執行命令
- scp: 在 Docker 主機之間以及 Docker 主機和本地主機之間通過 scp 遠程複製數據
- mount: 使用 SSHFS 從電腦裝載或卸載目錄
- start: 啟動一個指定的 Docker 主機,如果對象是個虛擬機,該虛擬機將被啟動
- status: 獲取指定 Docker 主機的狀態(包括:Running、Paused、Saved、Stopped、Stopping、Starting、Error)等
- stop: 停止一個指定的 Docker 主機
- upgrade: 將一個指定主機的 Docker 版本更新為最新
- url: 獲取指定 Docker 主機的監聽 URL
- version: 顯示 Docker Machine 的版本或者主機 Docker 版本
- help: 顯示幫助資訊