03.docker之数据卷

数据卷

  • 数据卷就是目录或文件,存在一个或多个容器中由docker挂载到容器,提供一些用于持续存储或共享数据的特性
  • 卷的设计目的就是数据的持久化,完全独立于容器的生命周期,因此docker不会 在删除时删除其挂载的数据卷

特点:

1.数据库卷可在容器之间共享或重用数据

2.卷中的数据可以直接修改生效

3.数据卷的更改不会包含在镜像的更新中

4.数据卷的生命周期一致持续到没有容器使用它为止

1. -v命令

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

例:docker run -it -v /myDataVolume:/dataVolumeContainer centos     在宿主机创建/myDataVolume,在容器内创建/dataVolumeContainer 并关联起来,如果容器停止,然后再启动还可以关联

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

例:docker run -it -v /myDataVolume:/dataVolumeContainer:ro centos    在宿主机创建/myDataVolume,在容器内创建/dataVolumeContainer 并关联起来,但是容器内的文件只能读不能新增和修改文件,如果容器停止,然后再启动还好关联;

操作:

创建数据卷

  docker volume create [OPTIONS][VOLUME]

  示例:docker volume create volume01

查看数据卷

  docker volume inspect [OPTIONS] VOLUME [VOLUME...]

  示例:docker volume ls  查询卷列表

挂载数据卷

  docker run -v volumeName:containerPath imageName

  示例:docker run --name nginx --rm -v volume01:/usr/share/nginx/html:rw -P -d nginx

删除数据卷

  docker volume rm [OPTIONS] VOLUME [VOLUME...]

  示例:docker volume rm volume2 volume3

挂载问题:

Fdocker挂载主机目录Docker访问出现cannot open directory.:permission denied

解决问题,在挂载目录后加一个 --privileged=true参数

docker run -it -v /myDataVolume:/dataVolumeContainer --privileged=true centos

posted @ 2020-05-17 21:54  卿小白  阅读(136)  评论(0)    收藏  举报