Docker中的数据管理

数据卷

特性:

  • 数据卷可以在容器之间共享和重用
  • 对数据卷的修改会立马生效
  • 对数据卷的更新,不会影响镜像
  • 数据卷默认会一直存在,即使容器被删除

作用:持久化数据

创建与挂载:

通过docker run-v参数

示例:

创建一个数据卷
1
docker run -d -P --name web -v /webapp

加载一个数据卷到容器的 /webapp 目录

挂载主机目录作为数据卷
1
2
docker run -d -P --name web -v /src/webapp:/opt/webapp
#挂载主机目录作为数据卷

加载主机的src/webapp目录到容器的opt/webapp

Note:Dockerfile中不支持这种写法,因为不同系统路径格式不一样
挂载本地文件作为数据卷
1
sudo docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash

删除数据卷

删除容器的时候使用 docker rm -v

查看数据卷具体信息

1
docker inspect [name]

默认数据卷创建在/var/lib/docker/volumes/下面

数据卷容器

作用:

持续更新的数据在容器之间共享

本质上就是一个容器,专门用来提供数据卷供其他容器挂载