@songying
2018-09-20T18:57:55.000000Z
字数 868
阅读 1199
Docker
在容器中管理数据主要有两种方式:
数据卷是一个可供一个或多个容器使用的特殊目录,它绕过UFS,可以提供很多有用的特性:
尽量使用
-v
而不-mount
参数
docker volume create volume_name # 创建一个数据卷
docker volume ls # 查看所有的数据卷
docker volume inspect volume_name # 查看指定数据卷信息
docker volume rm volume_name # 删除数据卷
docker volume prune # 清楚无主的数据卷
在用 docker run
命令的时候,使用--mount
标记来将数据卷挂载到容器里。一次docker run
中可以挂载多个数据卷
docker run -d -P \
--name web \
-v my-vol:/wepapp \
training/webapp \
python app.py
docker inspect web # 查看web容器的信息
docker rm -v # 删除容器时,移除其数据卷
数据卷是被设计用来持久化数据的,它的生命周期独立于容器,Docker不会在容器被删除后自动删除数据卷 ,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的 数据卷 。
尽量使用
--mount
来挂载,不要使用-v
`
docker run -d -P \
--name web \
--mount type=bind,source=/src/webapp,target=/opt/webapp \
training/webapp \
python app.py
Docker挂载主机目录的默认权限是读写 ,用户也可以通过增加readonly指定为 只读。
--mount type=bind,source=/src/webapp,target=/opt/webapp,readonly