本文是《Docker必知必会系列》第五篇,原文发布于个人博客:悟尘纪。
数据持久化存储与性能调优
数据持久保存
默认情况下,在容器内创建的所有文件都存储在可写容器层上。这意味着当该容器不再存在时,数据也将丢失。
为了让数据脱离容器持久保存,Docker 提供了两个选项来将文件持久存储在主机中: volume
和 bind mount
。如果您在 Linux 上运行 Docker,则还可以使用 tmpfs 挂载。如果您在 Windows 上运行 Docker,则还可以使用命名管道。
- **volume(卷)**存储在主机文件系统的一部分中,该文件系统由 Docker 管理(
/var/lib/docker/volumes/
在 Linux 上)。非 Docker 进程不应修改文件系统的这一部分。卷是在 Docker 中持久保存数据的最佳方法。 - **bind mount(绑定挂载)**可以存储在主机系统上的任何位置。它们甚至可能是重要的系统文件或目录。D