remove deprecated features: machine and swarm

Signed-off-by: Kang Huaishuai <khs1994@khs1994.com>
This commit is contained in:
Kang Huaishuai 2021-07-16 12:43:50 +08:00
parent 8dfdbc5b07
commit d4fc0a9da1
No known key found for this signature in database
GPG Key ID: 5E515022F565DA09
10 changed files with 9 additions and 242 deletions

View File

@ -25,7 +25,6 @@ jobs:
"192.168.199.100",\ "192.168.199.100",\
"github.com/settings",\ "github.com/settings",\
"github.com/docker/compose/releases/download",\ "github.com/docker/compose/releases/download",\
"github.com/docker/machine/releases/download",\
"github.com/etcd-io/etcd/releases/download",\ "github.com/etcd-io/etcd/releases/download",\
"github.com/tianon/gosu/releases/download",\ "github.com/tianon/gosu/releases/download",\
"github.com/yeasy/docker_practice",\ "github.com/yeasy/docker_practice",\
@ -65,6 +64,6 @@ jobs:
--allow-dupe \ --allow-dupe \
--skip-save-results \ --skip-save-results \
-t 10 \ -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 name: check-link
timeout-minutes: 25 timeout-minutes: 25

View File

@ -75,7 +75,7 @@ jobs:
git clone https://github.com/docker-practice/.vuepress .vuepress2 git clone https://github.com/docker-practice/.vuepress .vuepress2
cp -r .vuepress2/. .vuepress/ cp -r .vuepress2/. .vuepress/
rm -rf .vuepress2 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\<AdSenseTitle/>\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\<AdSenseTitle/>\n' {} \;
npx vuepress --version npx vuepress --version

View File

@ -169,8 +169,3 @@
* [附录四Dockerfile 最佳实践](appendix/best_practices.md) * [附录四Dockerfile 最佳实践](appendix/best_practices.md)
* [附录五如何调试 Docker](appendix/debug.md) * [附录五如何调试 Docker](appendix/debug.md)
* [附录六资源链接](appendix/resources.md) * [附录六资源链接](appendix/resources.md)
* [归档](archive/README.md)
* [Docker Machine](machine/README.md)
* [安装](machine/install.md)
* [使用](machine/usage.md)
* [Docker Swarm](swarm/README.md)

View File

@ -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 * Mesos
* Docker Swarm

View File

@ -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 的安装及使用

View File

@ -1,33 +0,0 @@
## 安装
Docker Machine 可以在多种操作系统平台上安装包括 LinuxmacOS以及 Windows
### macOSWindows
`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
```

View File

@ -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
```
来查看具体的用法

View File

@ -1,6 +1,5 @@
DOCKER_VERSION=20.10.0 DOCKER_VERSION=20.10.0
DOCKER_COMPOSE_VERSION=1.27.4 DOCKER_COMPOSE_VERSION=1.27.4
DOCKER_MACHINE_VERSION=0.16.1
ETCD_VERSION=3.4.0 ETCD_VERSION=3.4.0
KUBERNETES_VERSION=1.14.3 KUBERNETES_VERSION=1.14.3
KUBERNETES_DASHBOARD=2.0.0 KUBERNETES_DASHBOARD=2.0.0

View File

@ -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` 一节。

View File

@ -4,20 +4,10 @@
## 初始化集群 ## 初始化集群
[`Docker Machine`](../machine) 一节中我们了解到 `Docker Machine` 可以在数秒内创建一个虚拟的 Docker 主机下面我们使用它来创建三个 Docker 主机并加入到集群中 在已经安装好 Docker 的主机上执行如下命令
我们首先创建一个 Docker 主机作为管理节点
```bash ```bash
$ docker-machine create -d virtualbox manager $ docker swarm init --advertise-addr 192.168.99.100
```
我们使用 `docker swarm init` 在管理节点初始化一个 `Swarm` 集群
```bash
$ docker-machine ssh manager
docker@manager:~$ docker swarm init --advertise-addr 192.168.99.100
Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager. Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager.
To add a worker to this swarm, run the following command: 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 ```bash
$ docker-machine create -d virtualbox worker1 $ docker swarm join \
$ docker-machine ssh worker1
docker@worker1:~$ docker swarm join \
--token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
192.168.99.100:2377 192.168.99.100:2377
This node joined a swarm as a worker. 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` 集群包含一个管理节点和两个工作节点 经过上边的两步我们已经拥有了一个最小的 `Swarm` 集群包含一个管理节点和两个工作节点