docker(四):数据卷

简介: 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的卷映射关系

目录
相关文章
|
27天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
66 5
|
17天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
56 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
7天前
|
关系型数据库 数据管理 应用服务中间件
【赵渝强老师】Docker的数据持久化
在生产环境中使用Docker时,为了实现数据的持久化和共享,可以通过数据卷(Data Volumes)和数据卷容器(Data Volume Containers)两种方式来管理数据。数据卷是一个独立于容器的挂载目录,可以跨多个容器共享和重用。数据卷容器则是一种特殊容器,用于维护数据卷,便于数据迁移和共享。本文通过示例详细介绍了这两种方法的使用步骤。
|
21天前
|
Docker 容器
docker中查看已创建的数据卷
【10月更文挑战第16天】
34 3
|
21天前
|
存储 缓存 Docker
docker中挂载数据卷到容器
【10月更文挑战第16天】
23 2
|
21天前
|
Docker 容器
docker中创建命名数据卷
【10月更文挑战第16天】
15 2
|
22天前
|
存储 JSON 数据格式
docker中查看数据卷
【10月更文挑战第15天】
15 2
|
22天前
|
存储 Docker 容器
docker中使用命名数据卷
【10月更文挑战第15天】
12 2
|
22天前
|
存储 Docker 容器
docker中创建命名数据卷
【10月更文挑战第15天】
24 2
|
23天前
|
存储 Docker 容器
docker中挂载现有目录作为数据卷
【10月更文挑战第14天】
15 1