1.6 Docker-数据管理

Posted network-ren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.6 Docker-数据管理相关的知识,希望对你有一定的参考价值。

1.6 数据管理

Docker提供数据卷功能,数据卷是使用物理机上的一个目录在容器运行时挂载到容器目录中,就算容器停止,数据卷中的数据依然存在,保证了数据安全性,防止因容器删除导致重要数据丢失。

数据卷比普通目录挂载更易用,普通的目录挂载会覆盖容器中的数据目录,导致目录原本初始数据无法保留,而数据卷会检测容器中挂载的目录中是否会有数据,如果有的话会将这些数据拷贝到数据卷中,保留使用。

数据卷是一个独立的存在,即使容器删除也不会影响到数据卷,数据卷允许在容器之间共享和重用,让数据使用非常灵活。

1、创建一个数据卷

语法: docker volume create [选项] 卷名
选项:
   -d <volume_drive_name>   指定卷驱动器名称,默认不指定的话为“local”
示例:
[[email protected] ~]# docker volume create my-datalvm

2、查看系统中有哪些数据卷

[[email protected] ~]# docker volume ls
卷驱动器名   卷名
DRIVER      VOLUME NAME
local       my-datalvm

3、查看卷详细信息

语法:docker volume inspect 卷名
示例:
[[email protected] ~]# docker volume inspect my-datalvm
[
    {
        "CreatedAt": "2018-04-16T23:29:52-04:00",                   => 数据卷创建时间
        "Driver": "local",                                          => 卷驱动器名
        "Labels": {},                                   
        "Mountpoint": "/var/lib/docker/volumes/my-datalvm/_data",   => 卷实际使用的物理机目录位置
        "Name": "my-datalvm",                                       => 卷名           
        "Options": {},
        "Scope": "local"
    }
]

4、启动一个挂载数据卷的容器

如果挂载的目录在容器中不存在,则容器会自动创建目录,所以无需担心目录是否存在。

[[email protected] ~]# docker run -d -p 80:80 -v my-datalvm:/data --name "WEB-nginx" nginx:latest

5、删除数据卷

删除需谨慎!请谨慎操作!

语法:docker volume rm 卷名
示例:
[[email protected] ~]# docker volume rm my-datalvm

6、删除所有未使用的数据卷

删除需谨慎!请谨慎操作!

[[email protected] ~]# docker volume prune

7、权限控制

默认情况下,挂载的数据卷可读可写,如果你想使挂载的数据卷只读的话,则只需要在冒号后面增加“:ro”即可。

[[email protected] ~]# docker run -d -p 80:80 -v my-datalvm:/data:ro --name "WEB-NGINX" nginx:latest

以上是关于1.6 Docker-数据管理的主要内容,如果未能解决你的问题,请参考以下文章

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

docker部署canal 1.1.6 rocketmq 分区顺序性

docker部署canal 1.1.6 rocketmq 分区顺序性

markdown docker-compose片段

sh Docker片段