docker 容器数据卷

目录

1.1什么是docker容器数据卷

1.2 容器数据卷能做什么

2.1卷的简单使用

3.数据卷的常用命令

4.MYSQL容器建立数据卷同步数据

5 具名挂载和匿名挂载

        5.1 匿名挂载

 5.2 具名挂载

6.Dockerfile中设置数据卷

7. 容器数据卷


1.1什么是docker容器数据卷

docker将应用与其运行的环境打包形成容器运行, Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来, 那么当容器删除后,数据自然也就没有了。 卷的目的是为了保存docker容器内的数据。

卷就是目录或文件,存在于一个或多个容器中,由Docker挂载到容器,但卷不属于联合文件系(Union FileSystem),因此能够绕过联合文件系统提供一些用于持续存储或共享数据的特性。

1.2 容器数据卷能做什么

卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷

数据卷的特点:

  1. 数据卷可在容器之间共享或重用数据
  2. 卷中的更改可以直接生效
  3. 数据卷中的更改不会包含在镜像的更新中
  4. 数据卷的生命周期一直持续到没有容器使用它为止

2.1卷的简单使用

运行容器,指定挂载数据卷命令:

docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

将主机目录/home/mysqltest和容器/home建立数据卷,首先在容器目录下创建1.txt和2.txt文件,再去主机目录下查看是否有该文件。

在容器内删除1.tx他,主机目录下的1.txt同样被删除。

但是在主机目录下不能删除2.txt和新建3.txt文件。原因:使用docker启动的容器默认是用的root权限,但是docker中的root只是相当于普通用户,所以需要给挂载的目录或者文件开启权限

#开启目录权限
chmod a+rwx “需要挂载的目录”

#开启docker挂载权限
chmod a+rw “需要挂载的文件”

即使容器停止运行或者容器删除,仍然可以实现数据同步,本地的数据卷不会丢失 

    查看容器对应元数据docker inspect 容器id,可以在Mounts节点查看建立的数据卷信息。 

3.数据卷的常用命令

docker volume --help
Usage:  docker volume COMMAND
Manage volumes
Commands:
  create      Create a volume
  inspect     Display detailed information on one or more volumes
  ls          List volumes
  prune       Remove all unused lo
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值