Docker容器数据持久化存储机制
- 一、Docker容器数据持久化存储介绍
- 二、Docker容器数据持久化存储方式
- 三、Docker容器数据持久化存储方式应用案例演示
-
- 3.1 docker run -v
-
- 3.1.1 未挂载本地目录
- 3.1.2 挂载本地目录
- 3.1.3 未创建本地目录
- 3.2 volumes
-
- 3.3 bind mounts
一、Docker容器数据持久化存储介绍
-
物理机或虚拟机数据持久化存储
- 由于物理机或虚拟机本身就拥有大容量的磁盘,所以可以直接把数据存储在物理机或虚拟机本地文件系统中,亦或者也可以通过使用额外的存储系统(NFS、GlusterFS、Ceph等)来完成数据持久化存储。
-
Docker容器数据持久化存储
- 由于Docker容器是由容器镜像生成的,所以一般容器镜像中包含什么文件或目录,在容器启动后,我们依旧可以看到相同的文件或目录。
- 由于Docker容器属于“用后即焚”型计算资源,因此Docker容器不适合做数据持久化存储
二、Docker容器数据持久化存储方式
Docker提供三种方式将数据从宿主机挂载到容器中:
- docker run -v
- volumes
- Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)
- 是Docker默认存储数据方式
- bind mounts
- 将宿主机上的任意位置文件或目录挂载到容器中
三、Docker容器数据持久化存储方式应用案例演示
3.1 docker run -v
3.1.1 未挂载本地目录
运行一个容器,未挂载本地目录
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c4ad9f2c15fa nginx:latest "/docker-entrypoint.…" 46 seconds ago Up 44 seconds 80/tcp web1
使用curl命令访问容器
<!DOCTYPE html>
Welcome to nginx!</title>