簡介
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。
$ 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 的使用方法。其他云服務商操作與此基本一致。具體可以參考每家服務商的指導文檔。
可以看到目前只有這里默認的 default 虛擬機。
$ docker-machine ls
⒉ 創建機器
創建一臺名為 test 的機器。
$ docker-machine create --driver virtualbox test
--driver:指定用來創建機器的驅動類型,這里是 virtualbox。
⒊ 查看機器的 ip
$ docker-machine ip test
⒋ 停止機器
$ docker-machine stop test
$ docker-machine start test
$ docker-machine ssh test
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: 顯示幫助信息