Docker 学习之四:数据管理

在容器中管理数据主要有两种方式:数据卷和挂载主机目录。

数据卷:一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性。

主要特性:

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

数据卷的常见命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
docker volume create my-vol  创建一个数据卷

docker volume ls 查看所有的 数据卷


docker volume inspect my-vol 主机里使用,用于查看指定数据卷的信息

docker volume rm my-vol 删除数据卷

docker volume prune 清理无主的数据卷

docker rm -v
如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用

在docker run命令中,就会可以挂载多个数据卷,例子

1
2
3
4
5
6
docker run -d -P \
--name web \
# -v my-vol:/wepapp \
--mount source=my-vol,target=/webapp \
training/webapp \
python app.py

创建一个名为 web 的容器,并加载一个 数据卷 到容器的 /webapp 目录

挂载主机目录

使用 –mount 标记可以指定挂载一个本地主机的目录到容器中去。例子:

1
2
3
4
5
6
docker run -d -P \
--name web \
# -v /src/webapp:/opt/webapp \
--mount type=bind,source=/src/webapp,target=/opt/webapp \
training/webapp \
python app.py