Update machine

This commit is contained in:
khs1994 2017-11-23 01:22:25 +08:00
parent dd248d7dc2
commit 15ae487adc
4 changed files with 59 additions and 25 deletions

View File

@ -89,7 +89,6 @@
* [实战 Rails](compose/rails.md) * [实战 Rails](compose/rails.md)
* [实战 wordpress](compose/wordpress.md) * [实战 wordpress](compose/wordpress.md)
* [Docker 三剑客之 Machine 项目](machine/README.md) * [Docker 三剑客之 Machine 项目](machine/README.md)
* [简介](machine/intro.md)
* [安装](machine/install.md) * [安装](machine/install.md)
* [使用](machine/usage.md) * [使用](machine/usage.md)
* [Docker 三剑客之 Docker Swarm](swarm/README.md) * [Docker 三剑客之 Docker Swarm](swarm/README.md)

View File

@ -1,4 +1,9 @@
# Docker Machine 项目 # Docker Machine 项目
![](https://docs.docker.com/machine/img/machine.png)
Docker Machine 是 Docker 官方编排Orchestration项目之一负责在多种平台上快速安装 Docker 环境。 Docker Machine 是 Docker 官方编排Orchestration项目之一负责在多种平台上快速安装 Docker 环境。
本章将介绍 Machine 项目情况以及安装和使用。 Docker Machine 项目基于 Go 语言实现,目前在 [Github](https://github.com/docker/machine) 上进行维护。
本章将介绍 Docker Machine 的安装及使用。

View File

@ -1,31 +1,32 @@
## 安装 ## 安装
Docker Machine 可以在多种操作系统平台上安装,包括 Linux、Mac OS以及 Windows。 Docker Machine 可以在多种操作系统平台上安装,包括 Linux、Mac OS以及 Windows。
### macOS、Windows
### Linux/Mac OS Docker for macOS、Docker for Windows 自带 `docker-machine` 二进制包,安装之后即可使用。
在 Linux/Mac OS 上的安装十分简单,推荐从 [官方 Release 库](https://github.com/docker/machine/releases) 直接下载编译好的二进制文件即可。
查看版本信息。
```bash
$ docker-machine -v
docker-machine version 0.13.0, build 9ba6da9
```
### Linux
在 Linux 上的也安装十分简单,从 [官方 GitHub Release](https://github.com/docker/machine/releases) 处直接下载编译好的二进制文件即可。
例如,在 Linux 64 位系统上直接下载对应的二进制包。 例如,在 Linux 64 位系统上直接下载对应的二进制包。
```bash ```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 $ chmod +x /usr/local/bin/docker-machine
``` ```
完成后,查看版本信息,验证运行正常。 完成后,查看版本信息,验证运行正常。
```bash ```bash
$ docker-machine -v $ docker-machine -v
docker-machine version 0.3.1-rc1 (993f2db) docker-machine version 0.13.0, build 9ba6da9
```
### 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
``` ```

View File

@ -3,20 +3,43 @@
Docker Machine 支持多种后端驱动,包括虚拟机、本地主机和云平台等。 Docker Machine 支持多种后端驱动,包括虚拟机、本地主机和云平台等。
### 本地主机实例 ### 本地主机实例
首先确保本地主机可以通过 user 账号的 key 直接 ssh 到目标主机。
使用 generic 类型的驱动,创建一台 Docker 主机,命名为 test。 使用 `virtualbox` 类型的驱动,创建一台 Docker 主机,命名为 test。
```bash ```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 ```bash
$ docker-machine env test $ docker-machine env test
``` ```
后续根据提示在命令行输入命令之后就可以操作 test 主机。
也可以通过 `SSH` 登录到主机。
```bash
$ docker-machine ssh test
docker@test:~$ docker --version
Docker version 17.10.0-ce, build f4ffd25
```
### 支持驱动 ### 支持驱动
通过 `-d` 选项可以选择支持的驱动类型。 通过 `-d` 选项可以选择支持的驱动类型。
* amazonec2 * amazonec2
* azure * azure
* digitalocean * digitalocean
@ -33,6 +56,7 @@ $ docker-machine env test
### 操作命令 ### 操作命令
* `active` 查看活跃的 Docker 主机 * `active` 查看活跃的 Docker 主机
* `config` 输出连接的配置信息 * `config` 输出连接的配置信息
* `create` 创建一个 Docker 主机 * `create` 创建一个 Docker 主机
@ -41,19 +65,24 @@ $ docker-machine env test
* `ip` 获取主机地址 * `ip` 获取主机地址
* `kill` 停止某个主机 * `kill` 停止某个主机
* `ls` 列出所有管理的主机 * `ls` 列出所有管理的主机
* `provision` 重新设置一个已存在的主机
* `regenerate-certs` 为某个主机重新生成 TLS 认证信息 * `regenerate-certs` 为某个主机重新生成 TLS 认证信息
* `restart` 重启主机 * `restart` 重启主机
* `rm` 删除某台主机 * `rm` 删除某台主机
* `ssh` SSH 到主机上执行命令 * `ssh` SSH 到主机上执行命令
* `scp` 在主机之间复制文件 * `scp` 在主机之间复制文件
* `mount` 挂载主机目录到本地
* `start` 启动一个主机 * `start` 启动一个主机
* `status` 查看主机状态
* `stop` 停止一个主机 * `stop` 停止一个主机
* `upgrade` 更新主机 Docker 版本为最新 * `upgrade` 更新主机 Docker 版本为最新
* `url` 获取主机的 URL * `url` 获取主机的 URL
* `help, h` 输出帮助信息 * `version` 输出 docker-machine 版本信息
* `help` 输出帮助信息
每个命令,又带有不同的参数,可以通过 每个命令,又带有不同的参数,可以通过
```bash ```bash
docker-machine <COMMAND> -h $ docker-machine <COMMAND> --help
``` ```
来查看具体的用法。 来查看具体的用法。