Docker 数据管理

容器中数据管理有两种方式:

数据卷: 容器内数据直接映射到本地主机环境

数据卷容器:使用特定容器维护数据卷

数据卷

数据卷可以提供很多有用的特性:

(1)数据卷可以在容器之间共享和重用,容器见传递数据将变得高校方便

(2)对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作;

(3)对数据卷的更新不会影响镜像,解耦可应用和数据;

(4)卷会一直存在,直到没有容器使用,可以安全卸载它

1、在容器内创建一个数据卷

在docker run命令时,使用-v可以在容器内创建一个数据卷,多次重复使用-v可以创建多个数据卷

docker run -d -P --name web -v /webapp training/webapp python app.py

使用training/webapp创建一个web容器,并创建一个数据卷挂载到容器的/webapp目录

2、挂载一个主机目录作为数据卷(推荐)

docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py

上面的命令加载主机的/src/webapp目录到容器的/opt/webapp目录

本地目录的路径必须是绝对路径,如果目录不存在,docker会自动创建

docker挂在数据卷的默认权限是读写(wr),用户也可以通过ro指定为只读

docker run -d -P --name web -v /src/webapp:/opt/webapp:ro training/webapp python app.py

3、挂载一个本地主机文件作为数据卷(不推荐)

因为会改变文件的inode,会报错

数据卷容器

用户需要在多个容器之间共享一些持续更新的数据。数据卷容器也是一个容器,目的是专门用来提供数据卷共其他容器挂载

 利用数据卷容器来迁移数据

原文地址:https://www.cnblogs.com/Michael2397/p/7288716.html