什么是容器数据卷
docker概念
将应用和环境打包成一个镜像!
如果数据都在容器中,那么我们容器删除,数据就会丢失!
容器之间可以有一个数据共享的技术!Docker容器中产生的数据,同步到本地!这就需要用到数据卷,也就是将我们容器内的目录,挂载到Linux上面!
总结:容器的持久化和同步操作,容器间也可以数据共享的!
使用数据卷
直接命令挂载 -v
docker run -it -v 主机目录:容器内的目录
# 启动后可以使用下面的命令查看挂载有没有成功
docker inspect 容器id
# 可以在 Mounts 内查看
2.测试
1.在本地增加或者修改文件查看容器内有没有改动
2.容器内增加或修改查看本机目录有没有同步改动
具名和匿名挂载
1.匿名:只写容器内的路劲给,不写容器外的路径
-v 容器内路径
docker run -d -p --name nginx01 -v /etc/nginx nginx
# 查看所有卷的情况
docker volume ls
#发现 数据
#
2.具名
通过-v 卷名:容器内路径
docker run -d -p --name nginx01 -v [卷名]:/etc/nginx nginx
# 查看卷
docker volume inspect 卷名
# 一旦设置了容器权限 容器对我们挂在出来的容器就有限定了
ro readonly # 只读
rw readwrite # 可读写
docker run -d -p --name nginx01 -v [卷名]:/etc/nginx:ro nginx
docker run -d -p --name nginx01 -v [卷名]:/etc/nginx:rw nginx
Dockfile挂载
1.创建Dockfile文件
FROM nginx
# 匿名挂载
VOLUME ["test1", "test2"]
CMD echo "----end---"
CMD /bin/bash
2.命令运行
# 构建镜像
docker build -f deockfile所在目录 -t shuai/nginx:1.0 .
# 启动容器
docker run
# 查看是否挂载成功
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。