??集群当中挂载数据卷的方式采用--mount标志。而且-mount标记相比于-v意图更明确.
??如果不进行数据挂载的话,当容器不在时,对应的数据也不会持久存在
??采用-v的方式挂载容器。该文件或目录不需要在Docker主机上已经存在,如果尚不存在,则按需创建
docker run -tid -v /etc/docker/redis/data:data --name redis redis
# 该路径现在不存在,run之后自动生成
docker run -tid --name nginx -v /root/data/nginxtest:/etc/nignx/ nginx
??这里会看到直接报错。
??正常挂载
??正常挂载
1.挂载空目录容器内的信息会被覆盖.
2.挂载目录时会自动创建目录,但是文件不会创建
3.如果需要挂载目录,需要先把需要挂载的内容cp到宿主机,然后执行挂载
??数据卷项目绑定d目录有如下优点:
# 创建数据卷
docker volume create my-data
# 查看信息
docker volume inspect my-data
# 查看所有卷信息
docker volume ls
# 删除卷
docker volume rm my-data
??首先需要创建数据卷,当然也可以在创建service的时候,指定数据卷名称,会自动创建一个数据卷,集群中的数据卷都是采用--mount参数进行挂载。
??type为bind的时候,挂载的是主机路径,必须引用主机上现有的路径,并且不会自动创建该路径,如果路径不存在,服务创建失败
??type为volume的时候挂载的是数据卷。
# 挂载数据卷
docker service create --mount type=volume,src=redisdata,dst=/data --name redis redis
# 挂载目录
docker service create --mount type=bind,src=/data,dst=/data --name redis redis
原文:https://www.cnblogs.com/zhengyazhao/p/13389883.html