1.Docker 数据卷简介
1.1 为什么用数据卷
宿主机无法直接访问容器中的文件
容器中的文件没有持久化,导致容器删除后,文件数据也随之消失
容器之间也无法直接访问互相的文件
为解决这些问题,docker加入了数据卷(volumes)机制,能很好解决上面问题,以实现:
容器与主机之间、容器与容器之间共享文件
容器中数据的持久化
将容器中的数据备份、迁移、恢复等
1.2 数据卷的特点
数据卷存在于宿主机的文件系统中,独立于容器,和容器的生命周期是分离的。
数据卷可以目录也可以是文件,容器可以利用数据卷与宿主机进行数据共享,实现了容器间的数据共享和交换。
容器启动初始化时,如果容器使用的镜像包含了数据,这些数据会拷贝到数据卷中。
容器对数据卷的修改是实时进行的。
数据卷的变化不会影响镜像的更新。数据卷是独立于联合文件系统,镜像是基于联合文件系统。镜像与数据卷之间不会有相互影响。
2.Docker 数据卷管理
2.1 Docker挂载容器数据卷的三种方式
bind mounts:将宿主机上的一个文件或目录被挂载到容器上。
volumes:由Docker创建和管理。使用docker volume命令管理
tmpfs mounts:tmpfs 是一种基于内存的临时文件系统。tmpfs mounts 数据不会存储在磁盘上。