Docker Data
docker data
六、Docker存储
docker存储驱动storage driver(优先使用linux默认的storage driver,因为比较稳定)
- ubuntu:aufs,/var/lib/docker/aufs
- redhat/centos:device mapper
- suse:btrfs
6.1 docker data mount
格式:-v <host_path>:<container_path> #指定docker host路径与container的路径
docker run -d -p 7001:80 -v /root/htdocs:/usr/local/apache2/htdocs httpd
docker run -d -p 7001:80 -v /root/htdocs:/usr/local/apache2/htdocs:ro httpd #(ro)表示只读
# 类似于selinux这类标签系统,可以在volume挂载时使用z或Z指定该volume是否可以共享,默认为z即为共享
6.2 docker managed volume
docker run -d -p 7002:80 -v /usr/local/apache2/htdocs --name web1 httpd #只指定container path
docker inspect web1 #查找Source
docker volume ls
docker volume inspect VOLUME_NAME
6.3 docker data mount与docker managed volume对比
类型 | docker_data_mount | docker_managed_volume |
---|---|---|
volume location | anywhere | /var/lib/docker/volumes/... |
如果存在挂载点 | 隐藏并替换为volume | 原有数据复制到volume |
是否支持单文件挂载 | yes | no(must dir) |
privileges | read-only & read-write | read_write |
移植性 | 弱,需要指定host path | 强,不需指定host目录 |
volume container
docker create --name vc_data -v /root/htdocs:/usr/local/apache2/htdocs -v /var/www/html busybox
docker run -d -p 7006:80 --name web1 --volume-from vc_data httpd
数据卷的生命周期管理
备份
恢复
迁移
销毁
docker rm #删除容器
docker rm -v # 删除容器以及容器使用的volume
docker volume ls
docker volume rm
docker volume rm $(docker volume ls -q)