首页 > 技术文章 > Docker Data

xuelong3 2017-11-02 22:05 原文

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)

推荐阅读