非常教程

Docker 17参考手册

引擎 | Engine

节点如何工作 | How nodes work (Engine)

Docker Engine 1.12 引入了群模式,使您能够创建一个或多个名为群集的码头引擎集群。群集由一个或多个节点组成:以群集模式运行 DockerEngine 1.12 或更高版本的物理或虚拟机。

有两种类型的节点:经理工人

节点如何工作  |  How nodes work (Engine)

如果您尚未阅读群体模式概述和关键概念。

管理器节点

Manager节点处理集群管理任务:

  • 维护集群状态
  • 调度服务
  • 提供群集模式 HTTP API 端点

使用 Raft 实施,管理人员可以保持整个群体及其上运行的所有服务的一致内部状态。出于测试目的,可以使用单个管理器运行群集。如果单管理器群中的管理器出现故障,您的服务将继续运行,但您需要创建一个新群集以进行恢复。

为了利用群模式的容错功能,Docker 建议您根据贵组织的高可用性要求实施奇数个节点。当你有多个管理器时,你可以在没有停机时间的情况下从管理器节点的故障中恢复。

  • 三管理者群体容忍一名管理人员的最大损失。
  • 五管理者群体最多可同时丢失两个管理节点。
  • 一个N经理集群将容忍最多损失(N-1)/2经理。
  • Docker 推荐一个群体最多有七个管理节点。

重要提示:添加更多管理者并不意味着可扩展性或更高的性能。一般来说,情况正好相反。

工人节点

工作者节点也是 Docker Engine 的实例,其唯一目的是执行容器。工作者节点不参与 Raft 分布式状态,进行调度决策或服务于群集模式 HTTP API。

您可以创建一个管理节点群,但不能有一个没有至少一个管理节点的工作节点。默认情况下,所有经理都是工人。在单个管理器节点集群中,您可以像运行命令那样运行命令docker service create,而且计划程序将把所有任务放在本地引擎上。

要阻止调度程序将任务放置到多节点群中的管理器节点上,请将管理器节点的可用性设置为Drain。调度程序正常地停止Drain模式中节点上的任务,并调度Active节点上的任务。调度程序不会将新任务分配给具有Drain可用性的节点。

请参阅docker node update命令行参考以了解如何更改节点可用性。

改变角色

您可以通过运行将工作节点提升为管理员docker node promote。例如,当您将管理器节点离线进行维护时,您可能需要升级工作节点。请参阅节点宣传。

您也可以将管理器节点降级为工作节点。请参阅节点降级。

学到更多

  • 了解群集模式服务如何工作。
  • 了解 PKI 如何在群集模式下工作。

码头工人,容器,集群,群集模式,节点

引擎 | Engine相关

1..NET核心应用程序(引擎) | .NET Core application (Engine)
2.关于图像,容器和存储驱动程序(引擎) | About images, containers, and storage drivers (Engine)
3.向swarm添加节点(Engine) | Add nodes to the swarm (Engine)
4.应用自定义元数据(引擎) | Apply custom metadata (Engine)
5.应用滚动更新(引擎) | Apply rolling updates (Engine)
6.apt-cacher-ng
7.编写Dockerfiles(引擎)的最佳实践 | Best practices for writing Dockerfiles (Engine)
8.二进制(引擎) | Binaries (Engine)
9.将容器端口绑定到主机(引擎) | Bind container ports to the host (Engine)
10.突破性变化(引擎) | Breaking changes (Engine)
11.建立自己的网桥 | Build your own bridge (Engine)
12.CentOS (Engine)
13.CentOS (Engine)
14.配置容器DNS(引擎) | Configure container DNS (Engine)
15.在用户定义的网络中配置容器DNS(引擎) | Configure container DNS in user-defined networks (Engine)
16.CouchDB (Engine)
17.创建基本映像(引擎) | Create a base image (Engine)
18.创建群(引擎) | Create a swarm (Engine)
19.自定义docker0网桥(引擎) | Customize the docker0 bridge (Engine)
20.Debian (Engine)
21.默认桥接网络 | Default bridge network
22.删除服务(引擎) | Delete the service (Engine)
23.部署服务(引擎) | Deploy a service (Engine)
24.将服务部署到一个群(引擎) | Deploy services to a swarm (Engine)
25.不推荐的引擎功能 | Deprecated Engine features
26.Docker容器网络(引擎) | Docker container networking (Engine)
27.Docker概述(引擎) | Docker overview (Engine)
28.Docker运行参考(引擎) | Docker run reference (Engine)
29.Dockerfile引用(引擎) | Dockerfile reference (Engine)
30.Dockerize应用程序 | Dockerize an application
31.排空节点(引擎) | Drain a node (Engine)
32.引擎 | Engine
33.FAQ(引擎) | FAQ (Engine)
34.Fedora (Engine)
35.开始 | Get started (Engine)
36.开始使用macvlan网络驱动程序 | Get started with macvlan network driver (Engine)
37.开始使用多主机网络 | Get started with multi-host networking (Engine)
38.服务如何运作(引擎) | How services work (Engine)
39.图像管理 | Image management (Engine)
40.检查服务(引擎) | Inspect the service (Engine)
41.安装Docker(引擎) | Install Docker (Engine)
42.IPv6与Docker(引擎) | IPv6 with Docker (Engine)
43.将节点加入群集(引擎) | Join nodes to a swarm (Engine)
44.旧容器链接(引擎) | Legacy container links (Engine)
45.锁定你的群(引擎) | Lock your swarm (Engine)
46.管理群中的节点(引擎) | Manage nodes in a swarm (Engine)
47.使用Docker机密管理敏感数据(引擎) | Manage sensitive data with Docker secrets (Engine)
48.使用PKI管理swarm安全性(引擎) | Manage swarm security with PKI (Engine)
49.管理群体服务网络(引擎) | Manage swarm service networks (Engine)
50.迁移到引擎1.10 | Migrate to Engine 1.10
51.可选的Linux安装后步骤(引擎) | Optional Linux post-installation steps (Engine)
52.总览 | Overview (Engine)
53.总览 | Overview (Engine)
54.PostgreSQL(引擎) | PostgreSQL (Engine)
55.群集模式中的筏共识(引擎) | Raft consensus in swarm mode (Engine)
56.Riak (Engine)
57.以群集模式运行Docker Engine | Run Docker Engine in swarm mode
58.扩展服务(引擎) | Scale the service (Engine)
59.SDKs (Engine)
60.选择一个存储驱动 | Select a storage driver (Engine)
61.设置教程(引擎) | Set up for the tutorial (Engine)
62.SSHd (Engine)
63.存储驱动总览 | Storage driver overview (Engine)
64.存储服务配置数据(引擎) | Store service configuration data (Engine)
65.Swarm管理指南(引擎) | Swarm administration guide (Engine)
66.Swarm模式关键概念(引擎) | Swarm mode key concepts (Engine)
67.Swarm模式覆盖网络安全模型(引擎) | Swarm mode overlay network security model (Engine)
68.群模式概述(引擎) | Swarm mode overview (Engine)
69.Ubuntu (Engine)
70.Ubuntu (Engine)
71.了解容器通信(引擎) | Understand container communication (Engine)
72.使用多阶段构建(引擎) | Use multi-stage builds (Engine)
73.使用swarm模式路由网格(引擎) | Use swarm mode routing mesh (Engine)
74.使用AUFS存储驱动程序(引擎) | Use the AUFS storage driver (Engine)
75.使用Btrfs存储驱动程序(引擎) | Use the Btrfs storage driver (Engine)
76.使用设备映射器存储驱动程序(引擎) | Use the Device mapper storage driver (Engine)
77.使用OverlayFS存储驱动程序(引擎) | Use the OverlayFS storage driver (Engine)
78.使用VFS存储驱动程序(引擎) | Use the VFS storage driver (Engine)
79.使用ZFS存储驱动程序(引擎) | Use the ZFS storage driver (Engine)
80.处理图像 | Work with images
81.使用网络命令(引擎) | Work with network commands (Engine)
Docker 17

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

主页 https://docker.com/
源码 https://github.com/docker/docker
版本 17
发布版本 17.06