非常教程

Docker 17参考手册

引擎 | Engine

迁移到引擎1.10 | Migrate to Engine 1.10

从DockerEngine的1.10版本开始,我们完全改变了磁盘上图像数据的寻址方式。以前,每个图像和层都使用一个随机分配的UUID。在1.10中,基于图像和层数据的安全散列,我们使用ID实现了内容可寻址方法。

这种新方法为用户提供了更多的安全性,提供了一种避免ID冲突的内置方式,并保证了在拉动、推送、加载或保存后的数据完整性。它还带来了更好的层共享,允许许多图像自由地共享它们的层,即使它们不是来自同一个构建。

通过其内容对图像进行寻址,还可以让我们更容易地检测是否已经下载了一些内容。因为我们有分开的图像和层,所以您不必为原始构建链中的每一个映像提取配置。我们也不需要为没有修改文件系统的构建指令创建层。

内容可寻址性是新发行特性的基础。图像拉和推代码已经被重新加工,使用下载/上传管理器的概念,这使得推拉图像更加稳定,并减轻了任何并行请求问题。下载管理器还会对失败的下载进行重试,并为并发下载提供更好的优先级。

我们还引入了一种新的清单格式,它构建在内容可寻址基础之上。它直接引用内容可寻址图像配置和层校验和。新的清单格式还使清单列表能够用于针对多个体系结构/平台。移动到新的清单格式将是完全透明的。

准备升级

为了使新模型能够访问当前映像,我们必须将它们迁移到内容可寻址存储。这意味着计算当前数据的安全校验和。

当您第一次启动DockerEngine 1.10时,所有当前的图像、标签和容器都会自动迁移到新的基础上。在加载容器之前,守护进程将计算当前数据所需的所有校验和,完成后,所有图像和标记都将具有全新的安全ID。

虽然这是一个简单的操作,但是如果您有大量的图像数据,计算SHA 256校验和文件可能需要时间。平均而言,您应该假设Migrator可以以100 MB/s的速度处理数据。在此期间,您的Docker守护进程将无法响应请求。

最小化迁移时间

如果您可以接受这一次hit,那么升级Docker引擎并重新启动守护进程将透明地迁移您的映像。但是,如果希望最小化守护进程的停机时间,则可以在旧守护进程仍在运行时运行迁移实用程序。

这个工具将找到所有当前图像并计算它们的校验和。升级并重新启动守护进程之后,迁移图像的校验和数据将已经存在,从而使守护进程从该计算工作中解脱出来。如果在迁移和升级之间出现了新的图像,这些图像将在升级到1.10时处理。

您可以在这里下载迁移工具。

迁移工具也可以作为Docker映像运行。在运行Migrator映像时,需要向容器公开Docker数据目录。如果使用默认路径,则会运行:

$ docker run --rm -v /var/lib/docker:/var/lib/docker docker/v1.10-migrator

如果使用devicemapper存储驱动程序,还需要传递标志。--privileged若要使工具访问存储设备,请执行以下操作。

docker,文档,引擎,升级,迁移

引擎 | 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 nodes work (Engine)
39.服务如何运作(引擎) | How services work (Engine)
40.图像管理 | Image management (Engine)
41.检查服务(引擎) | Inspect the service (Engine)
42.安装Docker(引擎) | Install Docker (Engine)
43.IPv6与Docker(引擎) | IPv6 with Docker (Engine)
44.将节点加入群集(引擎) | Join nodes to a swarm (Engine)
45.旧容器链接(引擎) | Legacy container links (Engine)
46.锁定你的群(引擎) | Lock your swarm (Engine)
47.管理群中的节点(引擎) | Manage nodes in a swarm (Engine)
48.使用Docker机密管理敏感数据(引擎) | Manage sensitive data with Docker secrets (Engine)
49.使用PKI管理swarm安全性(引擎) | Manage swarm security with PKI (Engine)
50.管理群体服务网络(引擎) | Manage swarm service networks (Engine)
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