管理Docker数据[译]
管理Docker数据 2018-04-12 原文链接: https://docs.docker.com/storage/ 在容器的可写层可以存储数据,但是有如下缺点: 容器不再运行时,数据将不会持续存在,数据很难从容器中取出。 容器可写层与容器运行的宿主紧耦合。无法在不同主机之间很好的进行数据迁移。 在容器可写层数据写入数据,需要一个storage driver来管理文件系统。数据写入容器的读写层需要内核提供联合文件系统,相比使用data volumes直接写数据到宿主文件系统,这种抽象会带来开销。 Docker提供了三种不同的管理宿主上容器数据的方式: volumes , bind mounts 和 tmpfs volumes . 选择合适的mount类型 无论你选择哪种mount 类型,在容器中看到的数据都相同。即在容器文件系统中以目录或者独立文件的形式存在。 一种比较简单的方式区分 volumes, bind mounts 和 tmpfs mounts ,是通过区分数据存放在Docker宿主的具体位置。 Volumes: 存放宿主文件系统下的 /var/lib/docker/volumes 目录,非Docker进程不能修改这部分文件系统。Volumes是管理Docker持久化数据最好的方式。 Bind mounts: 存放在宿主的任意位置,可以是重要的系统文件或目录