diff --git a/.github/workflows/check-link.yml b/.github/workflows/check-link.yml
index 0a1080d..e6546e8 100644
--- a/.github/workflows/check-link.yml
+++ b/.github/workflows/check-link.yml
@@ -25,7 +25,6 @@ jobs:
"192.168.199.100",\
"github.com/settings",\
"github.com/docker/compose/releases/download",\
- "github.com/docker/machine/releases/download",\
"github.com/etcd-io/etcd/releases/download",\
"github.com/tianon/gosu/releases/download",\
"github.com/yeasy/docker_practice",\
@@ -65,6 +64,6 @@ jobs:
--allow-dupe \
--skip-save-results \
-t 10 \
- `find . \( -path "./mesos" -o -path "./machine" -o -path "./swarm_mode" \) -prune -o -name "*.md" -exec ls {} \;`
+ `find . \( -path "./mesos" -o -path "./swarm_mode" \) -prune -o -name "*.md" -exec ls {} \;`
name: check-link
timeout-minutes: 25
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index c440611..13c7206 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -75,7 +75,7 @@ jobs:
git clone https://github.com/docker-practice/.vuepress .vuepress2
cp -r .vuepress2/. .vuepress/
rm -rf .vuepress2
- find . \( -path "./mesos" -o -path "./machine" -o -path "./swarm_mode" -o -path "./node_modules" -o -path "./.vuepress" -o -path "./_book" -o -path "./CHANGELOG.md" -o -path "./CONTRIBUTING.md" \) -prune -o -name "*.md" -exec sed -i 'N;2a\\n' {} \;
+ find . \( -path "./mesos" -o -path "./swarm_mode" -o -path "./node_modules" -o -path "./.vuepress" -o -path "./_book" -o -path "./CHANGELOG.md" -o -path "./CONTRIBUTING.md" \) -prune -o -name "*.md" -exec sed -i 'N;2a\\n' {} \;
npx vuepress --version
diff --git a/SUMMARY.md b/SUMMARY.md
index 42929a9..4fd7b80 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -169,8 +169,3 @@
* [附录四:Dockerfile 最佳实践](appendix/best_practices.md)
* [附录五:如何调试 Docker](appendix/debug.md)
* [附录六:资源链接](appendix/resources.md)
-* [归档](archive/README.md)
- * [Docker Machine](machine/README.md)
- * [安装](machine/install.md)
- * [使用](machine/usage.md)
- * [Docker Swarm](swarm/README.md)
diff --git a/archive/README.md b/archive/README.md
index 5f74875..00aa7b4 100644
--- a/archive/README.md
+++ b/archive/README.md
@@ -1,7 +1,7 @@
# 归档项目
-以下项目不被官方支持或内容陈旧,将在下一版本中删除。
+以下项目不被官方支持或内容陈旧,将在下一版本中删除(或已经删除)。
-* Docker Machine
+* [Docker Machine](https://github.com/yeasy/docker_practice/tree/ca29ab51b121f43563f5d6659dedbda5cb6f048d/machine)
+* [Docker Swarm](https://github.com/yeasy/docker_practice/tree/ca29ab51b121f43563f5d6659dedbda5cb6f048d/swarm)
* Mesos
-* Docker Swarm
diff --git a/machine/README.md b/machine/README.md
deleted file mode 100644
index ebc1c3e..0000000
--- a/machine/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Docker Machine 项目
-
-![](https://docs.docker.com/machine/img/machine.png)
-
-Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境。
-
-Docker Machine 项目基于 Go 语言实现,目前在 [Github](https://github.com/docker/machine) 上进行维护。
-
-本章将介绍 Docker Machine 的安装及使用。
diff --git a/machine/install.md b/machine/install.md
deleted file mode 100644
index 24afd53..0000000
--- a/machine/install.md
+++ /dev/null
@@ -1,33 +0,0 @@
-## 安装
-
-Docker Machine 可以在多种操作系统平台上安装,包括 Linux、macOS,以及 Windows。
-
-### macOS、Windows
-
-`Docker Desktop for Mac/Windows` 自带 `docker-machine` 二进制包,安装之后即可使用。
-
-查看版本信息。
-
-```bash
-$ docker-machine -v
-docker-machine version 0.16.1, build cce350d7
-```
-
-### Linux
-
-在 Linux 上的也安装十分简单,从 [官方 GitHub Release](https://github.com/docker/machine/releases) 处直接下载编译好的二进制文件即可。
-
-例如,在 Linux 64 位系统上直接下载对应的二进制包。
-
-```bash
-$ sudo curl -L https://github.com/docker/machine/releases/download/v0.16.1/docker-machine-`uname -s`-`uname -m` > /usr/local/bin/docker-machine
-
-$ sudo chmod +x /usr/local/bin/docker-machine
-```
-
-完成后,查看版本信息。
-
-```bash
-$ docker-machine -v
-docker-machine version 0.16.1, build cce350d7
-```
diff --git a/machine/usage.md b/machine/usage.md
deleted file mode 100644
index a790f8c..0000000
--- a/machine/usage.md
+++ /dev/null
@@ -1,149 +0,0 @@
-## 使用
-
-Docker Machine 支持多种后端驱动,包括虚拟机、本地主机和云平台等。
-
-### 创建本地主机实例
-
-#### Virtualbox 驱动
-
-使用 `virtualbox` 类型的驱动,创建一台 Docker 主机,命名为 test。
-
-```bash
-$ docker-machine create -d virtualbox test
-```
-
-你也可以在创建时加上如下参数,来配置主机或者主机上的 Docker。
-
-`--engine-opt dns=114.114.114.114` 配置 Docker 的默认 DNS
-
-`--engine-registry-mirror https://hub-mirror.c.163.com` 配置 Docker 的仓库镜像
-
-`--virtualbox-memory 2048` 配置主机内存
-
-`--virtualbox-cpu-count 2` 配置主机 CPU
-
-更多参数请使用 `docker-machine create --driver virtualbox --help` 命令查看。
-
-#### macOS xhyve 驱动
-
-`xhyve` 驱动 GitHub: https://github.com/zchee/docker-machine-driver-xhyve
-
-[`xhyve`](https://github.com/mist64/xhyve) 是 macOS 上轻量化的虚拟引擎,使用其创建的 Docker Machine 较 `VirtualBox` 驱动创建的运行效率要高。
-
-```bash
-$ brew install docker-machine-driver-xhyve
-
-$ docker-machine create \
- -d xhyve \
- # --xhyve-boot2docker-url ~/.docker/machine/cache/boot2docker.iso \
- --engine-opt dns=114.114.114.114 \
- --engine-registry-mirror https://hub-mirror.c.163.com \
- --xhyve-memory-size 2048 \
- --xhyve-rawdisk \
- --xhyve-cpu-count 2 \
- xhyve
-```
-
->注意:非首次创建时建议加上 `--xhyve-boot2docker-url ~/.docker/machine/cache/boot2docker.iso` 参数,避免每次创建时都从 GitHub 下载 ISO 镜像。
-
-更多参数请使用 `docker-machine create --driver xhyve --help` 命令查看。
-
-#### Windows 10
-
-Windows 10 安装 Docker Desktop for Windows 之后不能再安装 VirtualBox,也就不能使用 `virtualbox` 驱动来创建 Docker Machine,我们可以选择使用 `hyperv` 驱动。
-
-> 注意,必须事先在 `Hyper-V` 管理器中新建一个 **外部虚拟交换机** 执行下面的命令时,使用 `--hyperv-virtual-switch=MY_SWITCH` 指定虚拟交换机名称
-
-```bash
-$ docker-machine create --driver hyperv --hyperv-virtual-switch=MY_SWITCH vm
-```
-
-更多参数请使用 `docker-machine create --driver hyperv --help` 命令查看。
-
-### 使用介绍
-
-创建好主机之后,查看主机
-
-```bash
-$ docker-machine ls
-
-NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
-test - virtualbox Running tcp://192.168.99.187:2376 v17.10.0-ce
-```
-
-创建主机成功后,可以通过 `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
-```
-
-连接到主机之后你就可以在其上使用 Docker 了。
-
-### 官方支持驱动
-
-通过 `-d` 选项可以选择支持的驱动类型。
-
-* amazonec2
-* azure
-* digitalocean
-* exoscale
-* generic
-* google
-* hyperv
-* none
-* openstack
-* rackspace
-* softlayer
-* virtualbox
-* vmwarevcloudair
-* vmwarefusion
-* vmwarevsphere
-
-### 第三方驱动
-
-请到 [第三方驱动列表](https://github.com/docker/docker.github.io/blob/master/machine/AVAILABLE_DRIVER_PLUGINS.md) 查看
-
-
-### 操作命令
-
-* `active` 查看活跃的 Docker 主机
-* `config` 输出连接的配置信息
-* `create` 创建一个 Docker 主机
-* `env` 显示连接到某个主机需要的环境变量
-* `inspect` 输出主机更多信息
-* `ip` 获取主机地址
-* `kill` 停止某个主机
-* `ls` 列出所有管理的主机
-* `provision` 重新设置一个已存在的主机
-* `regenerate-certs` 为某个主机重新生成 TLS 认证信息
-* `restart` 重启主机
-* `rm` 删除某台主机
-* `ssh` SSH 到主机上执行命令
-* `scp` 在主机之间复制文件
-* `mount` 挂载主机目录到本地
-* `start` 启动一个主机
-* `status` 查看主机状态
-* `stop` 停止一个主机
-* `upgrade` 更新主机 Docker 版本为最新
-* `url` 获取主机的 URL
-* `version` 输出 docker-machine 版本信息
-* `help` 输出帮助信息
-
-每个命令,又带有不同的参数,可以通过
-
-```bash
-$ docker-machine COMMAND --help
-```
-
-来查看具体的用法。
diff --git a/manifest b/manifest
index 107f15c..ba77f78 100644
--- a/manifest
+++ b/manifest
@@ -1,6 +1,5 @@
DOCKER_VERSION=20.10.0
DOCKER_COMPOSE_VERSION=1.27.4
-DOCKER_MACHINE_VERSION=0.16.1
ETCD_VERSION=3.4.0
KUBERNETES_VERSION=1.14.3
KUBERNETES_DASHBOARD=2.0.0
diff --git a/swarm/README.md b/swarm/README.md
deleted file mode 100644
index 5518654..0000000
--- a/swarm/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Docker 三剑客之 Docker Swarm
-
-Docker Swarm 是 Docker 官方三剑客项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。
-
-使用它,用户可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台。
-
-注意:Docker 1.12.0+ [Swarm mode](https://docs.docker.com/engine/swarm/) 已经内嵌入 Docker 引擎,成为了 docker 子命令 `docker swarm`,绝大多数用户已经开始使用 `Swarm mode`,Docker 引擎 API 已经删除 Docker Swarm。为避免大家混淆旧的 `Docker Swarm` 与新的 `Swarm mode`,旧的 `Docker Swarm` 内容已经删除,请查看 `Swarm mode` 一节。
diff --git a/swarm_mode/create.md b/swarm_mode/create.md
index 9139124..c40a7cc 100644
--- a/swarm_mode/create.md
+++ b/swarm_mode/create.md
@@ -4,20 +4,10 @@
## 初始化集群
-在 [`Docker Machine`](../machine) 一节中我们了解到 `Docker Machine` 可以在数秒内创建一个虚拟的 Docker 主机,下面我们使用它来创建三个 Docker 主机,并加入到集群中。
-
-我们首先创建一个 Docker 主机作为管理节点。
+在已经安装好 Docker 的主机上执行如下命令:
```bash
-$ docker-machine create -d virtualbox manager
-```
-
-我们使用 `docker swarm init` 在管理节点初始化一个 `Swarm` 集群。
-
-```bash
-$ docker-machine ssh manager
-
-docker@manager:~$ docker swarm init --advertise-addr 192.168.99.100
+$ docker swarm init --advertise-addr 192.168.99.100
Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager.
To add a worker to this swarm, run the following command:
@@ -35,34 +25,16 @@ To add a manager to this swarm, run 'docker swarm join-token manager' and follow
## 增加工作节点
-上一步我们初始化了一个 `Swarm` 集群,拥有了一个管理节点,下面我们继续创建两个 Docker 主机作为工作节点,并加入到集群中。
+上一步我们初始化了一个 `Swarm` 集群,拥有了一个管理节点,下面我们继续在两个 Docker 主机中分别执行如下命令,创建工作节点并加入到集群中。
```bash
-$ docker-machine create -d virtualbox worker1
-
-$ docker-machine ssh worker1
-
-docker@worker1:~$ docker swarm join \
+$ docker swarm join \
--token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
192.168.99.100:2377
This node joined a swarm as a worker.
```
-```bash
-$ docker-machine create -d virtualbox worker2
-
-$ docker-machine ssh worker2
-
-docker@worker1:~$ docker swarm join \
- --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
- 192.168.99.100:2377
-
-This node joined a swarm as a worker.
-```
-
->注意:一些细心的读者可能通过 `docker-machine create --help` 查看到 `--swarm*` 等一系列参数。该参数是用于旧的 `Docker Swarm`,与本章所讲的 `Swarm mode` 没有关系。
-
## 查看集群
经过上边的两步,我们已经拥有了一个最小的 `Swarm` 集群,包含一个管理节点和两个工作节点。