docker(四):数据卷

数据卷

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

1、docker run

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

在这里插入图片描述

2、挂载注意事项

--privileged=true

Docker挂载主机目录访问如果出现cannot open directory .: Permission denied
解决办法:在挂载目录后多加一个–privileged=true参数即可

3、数据卷作用

将运用与运行的环境打包镜像,run后形成容器实例运行 ,但是我们对数据的要求希望是持久化的。
Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。为了能保存数据在docker中我们使用卷。
特点:

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

4、docker run实例

docker run -it --name myCentos --privileged=true -p 5000:5000 -v /root/myData:/tmp/myDockerData zdb/centos:2.0 /bin/bash

在这里插入图片描述
docker inspect查看是否挂载成功
在这里插入图片描述
挂载成功!
在这里插入图片描述
注意:在挂载的目录下,docker修改,主机同步获得;主机修改,docker同步获得。

5、读写规则映射

默认是读写映射

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

如果容器实例内部需要限制成只能读取不能写,则如下:

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

在这里插入图片描述

ro:read only
此时,如果宿主机写入内容,可以同步给容器内,容器可以读取到。

6、卷的继承和共享

1、容器1完成和宿主机的映射

docker run -it  --privileged=true -v /mydocker/u:/tmp --name u1 ubuntu

容器内:
在这里插入图片描述
宿主机:
在这里插入图片描述

2、容器2继承容器1的卷规则

docker run -it  --privileged=true --volumes-from 父类  --name u2 ubuntu

容器2内:
在这里插入图片描述
发现容器2继承了容器1的卷映射关系

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Docker数据是一种持久化存储数据的方式,可以将主机上的目录或文件挂载到容器内部,实现数据的共享和持久化。在Docker基础实战教程中,我们学习了如何创建和管理数据,包括使用命令行和Dockerfile创建数据、挂载数据容器中、备份和恢复数据等操作。数据的使用可以方便地实现容器之间的数据共享和持久化,提高应用程序的可靠性和可维护性。 ### 回答2: Docker中的数据是一种可持久化存储数据的机制,它将宿主机的文件或目录映射到容器中,让容器中的数据得以保存到宿主机中,即使容器被删除,数据也能够被保留下来。数据的使用使得容器之间的数据共享和管理变得更加容易,是Docker的一个重要特性。 数据可以通过多种方式创建和管理,以下是一些基本的操作: 1. 创建数据 可以使用docker volume命令来创建一个数据,例如: ``` docker volume create my_data ``` 这将创建一个名为my_data的数据。 2. 挂载数据 可以在运行容器时将数据挂载到容器的指定目录。例如: ``` docker run -d -v my_data:/data nginx ``` 这将创建一个名为my_data的数据,并将其挂载到nginx容器中的/data目录。 3. 查看数据 可以使用docker volume ls命令来列出Docker中所有的数据,例如: ``` docker volume ls ``` 这将列出所有的数据,包括其名称和所在的路径。 4. 删除数据 可以使用docker volume rm命令来删除一个数据,例如: ``` docker volume rm my_data ``` 这将删除名为my_data的数据。 5. 备份数据 可以使用docker run命令来备份一个数据到宿主机上的指定路径,例如: ``` docker run --rm -v my_data:/data -v /backup:/backup busybox tar czf /backup/my_data.tar.gz /data ``` 这将备份my_data数据到/backup/my_data.tar.gz文件中。 以上是一些基本的数据操作。使用数据可以有效的管理容器中的数据,从而更好地利用Docker的特性。 ### 回答3: Docker是一个非常流行的容器化技术,它可以让我们快速构建、部署应用程序。在Docker中,数据是一个非常重要的概念,它可以让我们在容器之间共享数据,并且可以在容器之外进行备份和恢复。 在Docker中,我们可以通过两种方式来创建数据容器内挂载和主机目录挂载。容器内挂载是将一个主机的目录挂载到一个容器中的指定路径,而主机目录挂载则是将一个容器中的数据挂载到主机上的指定路径。 对于容器内挂载,我们可以通过以下命令创建一个数据: ``` docker run -v /host/directory:/container/directory image ``` 这个命令将主机上的`/host/directory`目录挂载到容器中的`/container/directory`目录。通过这种方式,我们可以将主机上的数据共享给容器中的应用程序。 对于主机目录挂载,我们可以通过以下命令创建一个数据: ``` docker run -v mydata:/container/directory image ``` 这个命令将一个名为`mydata`的数据挂载到容器中的`/container/directory`目录。通过这种方式,我们可以将容器中的数据挂载到主机上,方便备份和恢复。 在使用Docker时,我们还需要注意数据的生命周期。如果容器被删除,与它关联的数据也会被删除。为了避免这种情况,我们可以使用`docker volume`命令来创建和管理数据。例如,我们可以使用以下命令创建一个数据: ``` docker volume create mydata ``` 这个命令将创建一个名为`mydata`的数据。通过这种方式创建的数据不会与任何容器关联,也不会被删除。 总之,数据Docker中非常重要的一个概念,它可以让我们在容器之间共享数据,并且可以方便地备份和恢复数据。通过合理地使用数据,我们可以更好地管理和部署Docker容器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zdb呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值