什么是容器数据卷
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
# 查看是否挂载胜利