docker数据卷管理

docker数据卷:

1.mount到主机中,绕开分层文件系统

2.和主机磁盘性能相同,容器删除后依然保留

3.仅限本地磁盘,不能随容器迁移

docker提供了两种卷:

1.build mount:

将主机上的目录或文件mount到主机里

使用-v选项指定路径,格式<host path>:<container path>

docker run -d --name web -v /opt/website:/usr/share/nginx/html nginx

直接获取容器内信息:

[root@localhost ~]# docker run -it --rm nginx bash
root@ad7a9552c36a:/# ls
bin  boot  dev  docker-entrypoint.d  docker-entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@ad7a9552c36a:/# cd /usr/share/nginx/html/
root@ad7a9552c36a:/usr/share/nginx/html# ls
50x.html  index.html
root@ad7a9552c36a:/usr/share/nginx/html# cat index.html 

docker run -d --name web -v /www:/usr/share/nginx/html nginx

根下创建了一个www的目录

 docker inspect web

 

访问这个IP:

 

报错403

在刚刚新建的出来的www目录里创建一个页面:

 

 echo www1.org > index.html

可以访问

 

 docker inspect web

-v 可以指多个路径

在指向路径的最后加:ro  表示只读 无法改写 

2.docker managed volume

build mount必须指定host文件系统路径

docker managed volume不需要指定mount源 docker自动为容器创建数据卷目录

默认创建的数据卷目录都在/var/lib/docker/volumes中

如果挂载时指向容器内已有的目录,原有数据会被复制到volume中

下载registry镜像:

 docker pull registry

因为里面有:

 docker run -d --name web registry
docker inspect web

自动生成:

 

如果删除容器:这个卷还在:

 docker volume ls

 

需要手动回收:

 docker volume prune

 

手动创建:

 docker volume create web

 

 docker run -d --name demo -v web:/usr/share/nginx/html nginx
 docker inspect demo

 

没有报错:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值