目录
默认容器启动后的数据是存储在内存和临时目录里的,只有在容器运行时候才能看到数据,当容器被销毁,存储内容并不会存入磁盘。
如果想把容器运行后的记录放入磁盘中而不受容器是否运行和是否存在的影响,就需要持久化
一、将本地目录直接映射到容器里(运行成容器时候进行映射)
docker run -itd -v /docker/data/:/data/ lwjubuntu bash
-v 指定挂载目录, 宿主机的某目录:容器内的某目录 (没有会在容器内自动创建)
挂载成功后,则在容器外挂载位置的目录内写入内容,容器内挂载位置的目录内可见。反之一样。
run有 如下报错时,要指定bash启动:
二、数据卷模式
1、创建数据卷
docker volume create lwjtestvolume
2、查看数据卷列表,有哪些数据卷
docker volume ls
3、查看某个数据卷
docker volume inspect lwjtestvolume
Driver | 对应设备 local本地设备 |
Mountpoint | 在宿主机上的挂载点 |
4、容器目录挂载到数据卷
docker run -itd --name "volumeubuntu" -v lwjtestvolume:/volume/data/ ubuntu
-v 数据卷名字:容器内挂载的目录
在容器内挂载目录写入内容,在宿主机对应的卷目录下可见,反之,一样。
5、数据卷的优势:多个容器共享一个数据卷
这里用另外一个新容器映射同一个数据卷,可以在新的容器挂载目录内看到这个数据卷原先有的内容。