[关闭]
@songying 2018-09-20T18:57:55.000000Z 字数 868 阅读 1199

Docker 数据管理

Docker


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

数据卷

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

尽量使用-v而不-mount参数

  1. docker volume create volume_name # 创建一个数据卷
  2. docker volume ls # 查看所有的数据卷
  3. docker volume inspect volume_name # 查看指定数据卷信息
  4. docker volume rm volume_name # 删除数据卷
  5. docker volume prune # 清楚无主的数据卷

向容器中挂载数据卷

在用 docker run命令的时候,使用--mount标记来将数据卷挂载到容器里。一次docker run中可以挂载多个数据卷

  1. docker run -d -P \
  2. --name web \
  3. -v my-vol:/wepapp \
  4. training/webapp \
  5. python app.py
  1. docker inspect web # 查看web容器的信息
  2. docker rm -v # 删除容器时,移除其数据卷

数据卷是被设计用来持久化数据的,它的生命周期独立于容器,Docker不会在容器被删除后自动删除数据卷 ,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的 数据卷 。

挂载主机目录

尽量使用--mount来挂载,不要使用-v`

向容器中挂载一个主机目录/文件

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

Docker挂载主机目录的默认权限是读写 ,用户也可以通过增加readonly指定为 只读。

  1. --mount type=bind,source=/src/webapp,target=/opt/webapp,readonly
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注