本帖最后由 静态路由 于 2019-11-12 15:19 编辑
docker里面创建数据卷有两种方式,记录下如何操作。 数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于Linux中的mount操作。数据卷可以提供很多有用的特性,比如:数据卷可以在容器之间共享和重用,容器间传递数据将变得高效方便;对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作;对数据卷的更新不会影响镜像,解耦了应用和数据;卷会一直存在,直到没有容器使用,可以安全地卸载它。
1.在容器内创建一个数据卷 在用docker run命令的时候,使用- v标记可以在容器内创建一个数据卷。多次重复使用-v标记可以创建多个数据卷。下面使用training/webapp镜像创建一个web容器,并创建一个数据卷挂载到容器的/webapp目录: docker run -d -P --name web -v /webapp training/webapp python app.py
2.挂载一个主机目录作为数据卷 使用-v标记也可以指定挂载一个本地的已有目录到容器中去作为数据卷(推荐方式)。docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py 上面的命令加载主机的/ src/webapp目录到容器的/ opt/webapp目录。这个功能在进行测试的时候十分方便,比如用户可以将一些程序或数据放到本地目录中,然后在容器内运行和使用。另外,本地目录的路径必须是绝对路径,如果目录不存在Docker,会自动创建。Docker挂载数据卷的默认权限是读写(rw),用户也可以通过ro指定为只读: docker run -d -P --name web -v /src/webapp:/opt/webapp:rotraining/webapp python app.py 加了:ro之后,容器内对所挂载数据卷内的数据就无法修改了。 |