docker 数据管理

容器中的数据可以存储在数据卷和数据卷容器中;

数据卷的使用:

数据卷的使用类似Linux挂载文件目录,通俗讲,数据卷是一个可以供容器使用的特殊目录;

数据卷的创建:

  • docker run -ti --name ubuntu -v /Data ubuntu:16.04 bash在这里插入图片描述
    此时,根目录下有一个Data目录,这个目录就是刚才讲的数据卷。

数据卷的删除:

数据卷是用来长期存储数据的,因此数据卷的生命周期独立于容器;
一个数据卷可以同时被多个容器挂载;
容器结束后数据卷并不会被删除,要删除数据卷的话使用 -v 参数;

  • docker rm -v ubuntu在这里插入图片描述
    注:删除最后一个挂载有数据卷容器的时候需要使用 -v 参数来删除数据卷,否则之后清理这些数据卷会很麻烦;

挂载一个宿主机的目录作为数据卷:

  • docker run -ti --name -v /home/captain/demo/:/Data ubuntu:16.04 bash
    在这里插入图片描述
    该命令会把宿主机的目录 /home/admin/demo 挂载到容器的 /Data 目录下;
    注:正常情况下,宿主机目录挂载到容器后,容器可以访问到宿主机目录中的内容的,但现在容器中 ls Data 时没有任何数据,不知道是否时win10子系统的原因;

docker 挂载数据卷的默认权限是读写,可以通过 :ro 选项将权限改为只读:

  • docker rm -v ubuntu #先删掉刚才创建的数据卷挂载在宿主机上的容器
  • docker run -it --name ubuntu -v /home/captain/demo/:/Data:ro ubuntu:16.04 bash

数据卷容器的使用:

数据卷容器也是一个普通的容器,只是专门作数据卷供其他容器挂载使用;
首先,创建数据卷容器:

  • docker run -itd -v /Data --name ubuntu ubuntu:16.04在这里插入图片描述
    其次,创建另一个容器挂载刚才创建的数据卷容器:
  • docker run -it --volumes-from ubuntu --name use_data_volumes ubuntu:16.04
    在这里插入图片描述
    注:
    数据卷容器被挂载的时候不必保持运行;
    如果删除了容器 ubuntu 和 use_data_volumes,数据卷不会被删除;如果想要删除数据卷,应该使用docker rm -v 容器名;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值