2

什么是容器数据卷

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  

# 查看是否挂载成功

code_shuai
818 声望32 粉丝

love money = love code