存储

默认情况下,在容器内创建的所有文件都存储在 writ it 容器层,该层位于只读、不可变的镜像层之上。

当容器处于 摧毁。这意味着很难将数据从 容器(如果另一个进程需要它)。

每个容器的可写层是唯一的。您无法轻松提取数据 从可写层到主机或另一个容器。

存储挂载选项

Docker 支持以下类型的存储挂载,用于将数据存储在外部 容器的可写层中:

无论您选择使用哪种类型的挂载,数据看起来都是一样的 在容器内。它作为目录或单个文件公开 在容器的文件系统中。

卷挂载

卷是由 Docker 守护程序管理的持久性存储机制。他们 即使在删除使用它们的容器后仍保留数据。卷数据为 存储在主机上的文件系统上,但为了与 卷中,您必须将卷挂载到容器中。直接访问 或 与卷数据交互是不受支持的、未定义的行为,并且可能会 导致卷或其数据以意外的方式中断。

卷非常适合性能关键型数据处理和长期 存储需求。由于存储位置是在守护程序主机上管理的,因此 卷提供与访问主机文件系统相同的原始文件性能 径直。

绑定挂载

绑定挂载在主机系统路径和容器之间创建直接链接, 允许访问存储在主机上任何位置的文件或目录。由于他们 未被 Docker 隔离,主机和容器上的非 Docker 进程 进程可以同时修改挂载的文件。

当您需要能够从 容器和主机。

TMPFS 安装座

tmpfs 挂载将文件直接存储在主机的内存中,确保 数据不会写入磁盘。这种存储是短暂的:当 容器已停止或重新启动,或者当主机重新启动时。TMPFS 挂载不会将数据保存在 Docker 主机上或容器的 文件系统。

这些挂载适用于需要临时内存存储、 例如缓存中间数据、处理敏感信息,例如 credentials 或减少磁盘 I/O 时。仅当数据不 需要在当前容器会话之后持续存在。

命名管道

命名管道可用于 Docker 主机和容器之间的通信。常见 用例是在容器内运行第三方工具并连接到 使用命名管道的 Docker 引擎 API。

后续步骤