数据卷

Data Volume,数据卷是从外界挂载在容器内文件系统中的文件或者目录,可以脱离容器的生命周期而独立存在。容器退出或者删除后,数据卷不收任何影响。数据卷数据不继承与镜像,写时复制机制不会作用于数据卷,不会被docker commit提交。

可以多个容器共享一个数据卷,可以实现容器之间的文件数据共享。

通过创建容器创建的数据卷会自动挂载到容器中,对于通过 -v参数指定的并已经存在的数据卷也会找到并挂载。

数据卷基本命令

# 创建数据卷 -v 挂载数据卷,可挂载多个
# 所有对 /html 中的文件的操作都是对数据卷的操作
docker run -d --name myweb -v /html nginx -v /var/log/nginx
# 单独创建数据卷
docker volume create --name myvolume

# 查看数据卷信息
docker inspect myvalume

# 挂载已经存在的数据卷 -v <数据卷名>:<挂载路径>
# 如果原路径已存在,会隐藏原有目录,并用数据卷替换
docker run -d --name mynginx -v myvolume:/html nginx

# 将宿主机中已存在的目录作为数据卷挂载到容器中
docker run -d --name mynginx -v /Users/yingyu/Documents/docker_dir/mynginx:/var/lib/mynginx nginx

# 只读 :ro
docker run -d --name mynginx -v /Users/yingyu/Documents/docker_dir/mynginx:/var/lib/mynginx:ro nginx

# 查看数据卷
docker volume list

# 删除数据将 单独删除/随容器删除
docker rm -v mynginx
docker volume rm myvolume

# 删除无主的数据卷
docker volume prune

# 找数据卷哪个容器在用
docker ps -f "volume=myvolume"

你可能感兴趣的:(数据卷)