From 15ae487adc8e54489fbbf0d7baa86925b3ee2eda Mon Sep 17 00:00:00 2001 From: khs1994 Date: Thu, 23 Nov 2017 01:22:25 +0800 Subject: [PATCH] Update machine --- SUMMARY.md | 1 - machine/README.md | 7 ++++++- machine/install.md | 35 ++++++++++++++++++----------------- machine/usage.md | 41 +++++++++++++++++++++++++++++++++++------ 4 files changed, 59 insertions(+), 25 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 6340718..d88489f 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -89,7 +89,6 @@ * [实战 Rails](compose/rails.md) * [实战 wordpress](compose/wordpress.md) * [Docker 三剑客之 Machine 项目](machine/README.md) - * [简介](machine/intro.md) * [安装](machine/install.md) * [使用](machine/usage.md) * [Docker 三剑客之 Docker Swarm](swarm/README.md) diff --git a/machine/README.md b/machine/README.md index e19bd7b..ebc1c3e 100644 --- a/machine/README.md +++ b/machine/README.md @@ -1,4 +1,9 @@ # Docker Machine 项目 + +![](https://docs.docker.com/machine/img/machine.png) + Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境。 -本章将介绍 Machine 项目情况以及安装和使用。 +Docker Machine 项目基于 Go 语言实现,目前在 [Github](https://github.com/docker/machine) 上进行维护。 + +本章将介绍 Docker Machine 的安装及使用。 diff --git a/machine/install.md b/machine/install.md index b073e96..5fffa1c 100644 --- a/machine/install.md +++ b/machine/install.md @@ -1,31 +1,32 @@ ## 安装 + Docker Machine 可以在多种操作系统平台上安装,包括 Linux、Mac OS,以及 Windows。 +### macOS、Windows -### Linux/Mac OS -在 Linux/Mac OS 上的安装十分简单,推荐从 [官方 Release 库](https://github.com/docker/machine/releases) 直接下载编译好的二进制文件即可。 +Docker for macOS、Docker for Windows 自带 `docker-machine` 二进制包,安装之后即可使用。 + +查看版本信息。 + +```bash +$ docker-machine -v +docker-machine version 0.13.0, build 9ba6da9 +``` + +### Linux + +在 Linux 上的也安装十分简单,从 [官方 GitHub Release](https://github.com/docker/machine/releases) 处直接下载编译好的二进制文件即可。 例如,在 Linux 64 位系统上直接下载对应的二进制包。 + ```bash -$ sudo curl -L https://github.com/docker/machine/releases/download/v0.3.1-rc1/docker-machine_linux-amd64 > /usr/local/bin/docker-machine +$ sudo curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine`uname -s`-`uname -m` > /usr/local/bin/docker-machine $ chmod +x /usr/local/bin/docker-machine ``` 完成后,查看版本信息,验证运行正常。 + ```bash $ docker-machine -v -docker-machine version 0.3.1-rc1 (993f2db) -``` - -### Windows -Windows 下面要复杂一些,首先需要安装 [msysgit](https://msysgit.github.io/)。 - -msysgit 是 Windows 下的 git 客户端软件包,会提供类似 Linux 下的一些基本的工具,例如 ssh 等。 - -安装之后,启动 msysgit 的命令行界面,仍然通过下载二进制包进行安装,需要下载 docker 客户端和 docker-machine。 - -```bash -$ curl -L https://get.docker.com/builds/Windows/x86_64/docker-latest.exe > /bin/docker - -$ curl -L https://github.com/docker/machine/releases/download/v0.3.1-rc1/docker-machine_windows-amd64.exe > /bin/docker-machine +docker-machine version 0.13.0, build 9ba6da9 ``` diff --git a/machine/usage.md b/machine/usage.md index 8d0fbce..ad9ec1e 100644 --- a/machine/usage.md +++ b/machine/usage.md @@ -3,20 +3,43 @@ Docker Machine 支持多种后端驱动,包括虚拟机、本地主机和云平台等。 ### 本地主机实例 -首先确保本地主机可以通过 user 账号的 key 直接 ssh 到目标主机。 -使用 generic 类型的驱动,创建一台 Docker 主机,命名为 test。 +使用 `virtualbox` 类型的驱动,创建一台 Docker 主机,命名为 test。 + ```bash -$ docker-machine create -d generic --generic-ip-address=10.0.100.101 --generic-ssh-user=user test +$ docker-machine create -d virtualbox test ``` -创建主机成功后,可以通过 env 命令来让后续操作对象都是目标主机。 +查看主机 + +```bash +$ docker-machine ls + +NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS +default * virtualbox Running tcp://192.168.99.187:2376 v17.10 +``` + +创建主机成功后,可以通过 `env` 命令来让后续操作对象都是目标主机。 + ```bash $ docker-machine env test ``` +后续根据提示在命令行输入命令之后就可以操作 test 主机。 + +也可以通过 `SSH` 登录到主机。 + +```bash +$ docker-machine ssh test + +docker@test:~$ docker --version +Docker version 17.10.0-ce, build f4ffd25 +``` + ### 支持驱动 + 通过 `-d` 选项可以选择支持的驱动类型。 + * amazonec2 * azure * digitalocean @@ -33,6 +56,7 @@ $ docker-machine env test ### 操作命令 + * `active` 查看活跃的 Docker 主机 * `config` 输出连接的配置信息 * `create` 创建一个 Docker 主机 @@ -41,19 +65,24 @@ $ docker-machine env test * `ip` 获取主机地址 * `kill` 停止某个主机 * `ls` 列出所有管理的主机 +* `provision` 重新设置一个已存在的主机 * `regenerate-certs` 为某个主机重新生成 TLS 认证信息 * `restart` 重启主机 * `rm` 删除某台主机 * `ssh` SSH 到主机上执行命令 * `scp` 在主机之间复制文件 +* `mount` 挂载主机目录到本地 * `start` 启动一个主机 +* `status` 查看主机状态 * `stop` 停止一个主机 * `upgrade` 更新主机 Docker 版本为最新 * `url` 获取主机的 URL -* `help, h` 输出帮助信息 +* `version` 输出 docker-machine 版本信息 +* `help` 输出帮助信息 每个命令,又带有不同的参数,可以通过 + ```bash -docker-machine -h +$ docker-machine --help ``` 来查看具体的用法。