数据卷 volume

数据卷 是一个可供一个或多个容器使用的特殊目录,实现让容器中的一个目录和宿主机中的一个文件或者目录进行绑定。数据卷 是被设计用来持久化数据的

第一种:bind mount volume

第一步:创建本地目录

╭─root@du-z

╰─➤ mkdir /webroom

╭─root@du-z ~

╰─➤ echo "123" > /webroom/index.html

第二步:绑定本地目录,运行容器

docker run -v # 绑定一个数据卷 Bind mount a volume

╭─root@du-z ~

╰─➤ docker run -v /webroom:/usr/share/nginx/html -d -P nginx

╭─root@du-z ~

╰─➤ docker ps -q

553d7e454376

第三步:查看bind 和ip

╭─root@du-z /webroom

╰─➤ docker inspect 553d7e454376|grep "Mounts" -A7

"Mounts": [

{

"Type": "bind",

"Source": "/webroom",

"Destination": "/usr/share/nginx/html",

"Mode": "",

"RW": true,

"Propagation": "rprivate"

╭─root@du-z /webroom

╰─➤ docker inspect 553d7e454376|grep IPAddress

"SecondaryIPAddresses": null,

"IPAddress": "172.17.0.3",

"IPAddress": "172.17.0.3",

第四步:验证

╭─root@du-z ~

╰─➤ curl 172.17.0.3

123

第二种:Docker Management Volume

第一步:启动容器

╭─root@du-z ~

╰─➤ docker run -v /usr/share/nginx/html -d -P nginx

╭─root@du-z ~

╰─➤ docker ps -q

acc5955cc2db

第二步:查看mounts

╭─root@du-z ~

╰─➤ docker inspect acc5955cc2db |grep "Mounts" -A7

"Mounts": [

{

"Type": "volume",

"Name": "8e9f40b822fff53819401c0dc2df116f732c0a60e839433d3de61d03fd84ebda",

"Source": "/var/lib/docker/volumes/8e9f40b822fff53819401c0dc2df116f732c0a60e839433d3de61d03fd84ebda/_data",

"Destination": "/usr/share/nginx/html",

"Driver": "local",

"Mode": "",

第三步:查看本机目录

╭─root@du-z ~

╰─➤ ls /var/lib/docker/volumes

8e9f40b822fff53819401c0dc2df116f732c0a60e839433d3de61d03fd84ebda

第四步:删除容器

╭─root@du-z ~

╰─➤ docker stop acc5955cc2db

acc5955cc2db

╭─root@du-z ~

╰─➤ docker rm -v acc5955cc2db

acc5955cc2db

# 注意:在删除容器时可以rm -v 数据卷(volumes)也一起删除;

批量删除孤儿卷

docker volume rm $(docker volume ls -qf dangling=true)

# 被使用的卷不会被删除

第三种:Container Data (基于现有的容器)

第一步:先运行容器

╭─root@du-z ~

╰─➤ docker run -d --name nginx1 nginx

18404c47804d194fe89dfc5b737ca0e508fa54db6cd5a05a62d98d414d763f07

第二步:再运行一个容器共享nginx1的volumes

╭─root@du-z ~

╰─➤ docker run --volumes-from nginx1 -d nginx

387ea757f57e2d427ecca372b4048bc950ab5b4f24d0a8849f020e86c0079a7e

docker volume 命令

╭─root@du-z ~

╰─➤ docker volume --help

Usage:docker volume COMMAND

Manage volumes

Commands:

create Create a volume

inspect Display detailed information on one or more volumes

ls List volumes

prune Remove all unused local volumes

rm Remove one or more volumes

实例1:创建一个volume

╭─root@du-z ~

╰─➤ docker volume create vol1

vol1

╭─root@du-z ~

╰─➤ ls /var/lib/docker/volumes/

vol1

实例2:查看volumes列表

╭─root@du-z ~

╰─➤ docker volume ls

DRIVER VOLUME NAME

local vol1

实例3:查看volume的详细信息

╭─root@du-z ~

╰─➤ docker volume inspect vol1

[

{

"CreatedAt": "2019-08-15T04:48:40-04:00",

"Driver": "local",

"Labels": {},

"Mountpoint": "/var/lib/docker/volumes/vol1/_data",

"Name": "vol1",

"Options": {},

"Scope": "local"

}

]

实例4:批量删除volumes

docker volume rm $(docker volume ls -qf dangling=true)

# 被使用的卷不会被删除

docker mysql volum_Docker --volume(数据持久化)相关推荐

  1. docker mysql volum_Docker Volume

    什么是数据卷Volume呢? 首先需要明确Docker内的文件系统是如何工作的,Docker镜像被存储在一系列的只读层. Docker镜像是由多个文件系统(只读层)叠加而成,当启动一个容器的时候,Do ...

  2. docker mysql volum_Docker Volume入门用法详解

    Docker Volume能让容器从宿主主机中读取文件或持久化数据到宿主主机内,让容器与容器产生的数据分离开来.你可以简单地把它理解为linux服务器上的挂载点.一个容器可以挂载多个不同的目录.Vol ...

  3. docker mysql volum_docker volume 使用

    docker volume 可以理解成一个container中的磁盘,既可以跟随container的生命周期(在Dockerfile 中定义使用VOLUME关键字),也可以单独创建,永久存储,直到用d ...

  4. 【Docker系列 Swarm】 swarm volume 数据持久化

    Docker Swarm volume 数据持久化 volume 是将宿主级的目录映射到容器中,以实现数据持久化. 可以用两种方式来实现: volume 默认模式:工作节点宿主机数据同步到容器内. v ...

  5. docker $PWD路径_Docker 数据持久化

    1 Docker 数据持久化简介 Docker 持久化存储的原因 Docker 持久化的两种方式(volume和volume container) Docker 持久化存储的运维 2 Docker 持 ...

  6. 阿良老师 Docker学习_upperDir与数据持久化

    一. 当使用docker pull命令去远程仓库docker hub拉取镜像时,docker会判断本地镜像仓库是否存在这个镜像,如果镜像不存在再去远程仓库下载 二.docker镜像本质上就是多个文件, ...

  7. CenOS7中使用Docker安装配置Redis(数据持久化与数据卷映射)

    场景 CentOS7中Docker的安装与配置: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701 首先按照上面在 ...

  8. docker mysql volum_Docker 存储卷 Volume 删除和孤单 volume 清理

    1 在删除容器时删除 volume 可以使用 docker rm -v 命令在删除容器时删除该容器的卷. [root@along ~]# docker run --name web2 -v /data ...

  9. docker 保存 环境持久化_Docker深入浅出系列 | 容器数据持久化

    Docker深入浅出系列 | 容器数据持久化 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会 ...

最新文章

  1. Android TextVeiw 在java代码中添加空格的方法
  2. javascript取得鼠标的位置
  3. Greenplum——升级的分布式PostgresSQL
  4. vue keep-alive保存路由状态2 (高级用法,接上篇)
  5. Linux 系统时间和硬件时间
  6. keil4如何设置自动缩进_如何设置私聊自动回复?
  7. pandas访问分组里面的数据_实战用pandas+PyQt5制作一款数据分组透视处理工具
  8. 列举网络芳邻的网络资源
  9. C++离航篇——引用,const
  10. 黑色30s高并发IIS设置
  11. android bitmap对比,Android Bitmap和Drawable的对比
  12. Python内置容器(2)——字典,迭代器,列表解析
  13. 启动rrt什么意思_面试官:你来说一下springboot启动时的一个自动装配过程吧!...
  14. async and await 简单的入门
  15. 机器学习算法的差异_我们的机器学习算法可放大偏差并永久保留社会差异
  16. 算法7:求用小矩形覆盖大矩形有多少种方式
  17. css3 3d 太阳系,CSS3实现的太阳系行星系统
  18. P3403 跳楼机 同余最短路
  19. html5 网易公开课,麻省理工学院公开课:单变量微积分习题课
  20. 求二次方程的根 b^2-4ac的三种可能

热门文章

  1. oracle数据库工程师的工资,数据库开发工程师工资待怎么样
  2. 项目管理5阶段|一位高级项目经理的4年项目经验分享
  3. 神舟gx8cp5s1uefi安装win10和ubuntu18.04双系统记录
  4. 一文读懂 快速掌握示波器使用及原理
  5. What?Tomcat-竟然也算中间件?
  6. 个人博客一文多发教程- OpenWriter管理工具基础使用方法
  7. ORACLE ORDER BY的多种排序
  8. 飞思卡尔 I.MX6Q-高分辨率(1080P)视频采集编码
  9. 记一次xxl-job执行器Online机器地址(注册节点)加倍问题
  10. 生鲜配送管理系统_升鲜宝 V2.0 小程序辅助系统工具矩阵系列相关说明