码迷,mamicode.com
首页 > 其他好文 > 详细

1.6 Docker-数据管理

时间:2018-08-22 19:34:33      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:lib   初始   启动   cal   拷贝   drive   功能   默认   选项   

1.6 数据管理

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

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

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

1、创建一个数据卷

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

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

[root@localhost ~]# docker volume ls
卷驱动器名   卷名
DRIVER      VOLUME NAME
local       my-datalvm

3、查看卷详细信息

语法:docker volume inspect 卷名
示例:
[root@localhost ~]# 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、启动一个挂载数据卷的容器

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

[root@localhost ~]# docker run -d -p 80:80 -v my-datalvm:/data --name "WEB-NGINX" nginx:latest

5、删除数据卷

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

语法:docker volume rm 卷名
示例:
[root@localhost ~]# docker volume rm my-datalvm

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

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

[root@localhost ~]# docker volume prune

7、权限控制

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

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

1.6 Docker-数据管理

标签:lib   初始   启动   cal   拷贝   drive   功能   默认   选项   

原文地址:https://www.cnblogs.com/network-ren/p/9519816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!