简介

  集群当中挂载数据卷的方式采用--mount标志。而且-mount标记相比于-v意图更明确.

  如果不进行数据挂载的话,当容器不在时,对应的数据也不会持久存在

存储方式

  • 卷存储,由docker管理使用docker -volume create创建管理。卷也是docker官方推荐的持久化方式
  • 绑定挂载,就是把宿主机的地址挂载到容器内
  • tmpfs挂载只存储在主机系统的内存当中。(用到的比较少)

绑定目录

  采用-v的方式挂载容器。该文件或目录不需要在Docker主机上已经存在,如果尚不存在,则按需创建

  • 采用-v的形式宿主机的文件会覆盖data里面的文件。
  • 如果宿主机目录为空的话,容器内挂载文件会清空
docker run -tid -v /etc/docker/redis/data:data --name redis redis

1.自动创建目录

# 该路径现在不存在,run之后自动生成
docker run -tid --name nginx -v /root/data/nginxtest:/etc/nignx/ nginx

  图中可见,在运行时会自动创建宿主机目录,但是内容为空,并且容器也无法启动,会报错:未找到nginx.conf 也就是说**在映射的时候,宿主机没有nginx.conf**文件.所以导致nginx无法启动

2.自动创建文件

  这里会看到直接报错。

3.宿主机已存在文件挂载

  正常挂载

4.挂载已存在目录

  正常挂载

总结

1.挂载空目录容器内的信息会被覆盖.

2.挂载目录时会自动创建目录,但是文件不会创建

3.如果需要挂载目录,需要先把需要挂载的内容cp到宿主机,然后执行挂载

创建数据卷

  数据卷项目绑定d目录有如下优点:

  • 更容易迁移和备份
  • 可以使用docker cli命令管理卷
  • 卷在liunx和windows 都可以使用
  • 可在多个容器之间共享数据卷
# 创建数据卷
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

Docker 挂载的更多相关文章

  1. Docker挂载主机目录Docker访问出现Permission denied的解决办法

    Docker挂载主机目录,访问相应的文件出现Premission denied的权限访问问题,   [root@localhost soft]# docker images REPOSITORY    ...

  2. docker挂载本地目录和数据卷容器

    1.docker挂载本地目录 docker可以支持把一个宿主机上的目录挂载到镜像里. 交互模式运行docker run -it -v /home/dock/Downloads:/usr/Downloa ...

  3. docker挂载volume的用户权限问题,理解docker容器的uid

    docker挂载volume的用户权限问题,理解docker容器的uid 在刚开始使用docker volume挂载数据卷的时候,经常出现没有权限的问题. 这里通过遇到的问题来理解docker容器用户 ...

  4. docker挂载本地目录的方法总结

    docker挂载本地目录的方法总结: Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定. 譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录, ...

  5. win10专业版Hyper-v下Docker挂载volume的方式使用Gitlab(汉化版)保存资料数据(使用外部redis)

    目录 话题 (191) 笔记 (137) 资料区 (2) 评价 (33) 介绍 讨论区 话题 win10专业版Hyper-v下Docker挂载volume的方式使用Gitlab(汉化版)保存资料数据( ...

  6. docker 挂载目录挂载不上**

    最近做项目做一个shared Dynamodb, 使用docker挂载一个image,发现怎么都挂载不上, 使用 $ pwd E:\Work\Aws\git\schema\dynamodb\local ...

  7. docker挂载数据卷

    1.Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷,简单的理解就是将数据持久化的工具. 2.在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们 ...

  8. docker挂载NVIDIA显卡运行pytorch

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃   写在前面: 请参考之前的文章安装好CentOS.NVIDIA相关驱动及软件.docker及 ...

  9. 【原创】大叔经验分享(32)docker挂载文件修改生效

    docker经常需要挂载文件到容器中,比如启动nginx # docker run -d --name test_nginx -v /tmp/nginx.conf:/etc/nginx/nginx.c ...

  10. win7 docker 挂载共享目录

    在 win7 下用 docker 不像 win10 那样方便,安装包都不一样. 在 win7 下共享一个目录的方法如下: 1. 先设置 win7 到 VirtualBox 中 docker 用的那个虚 ...

随机推荐

  1. 字节流,读取 a.txt 文件内容,并打印出来

    import java.io.FileInputStream;import java.io.IOException; /** 字节流,读取 a.txt 文件内容,并打印出来 */public clas ...

  2. java List的初始化

    今天在处理生成excel的时候用到了java的list,但是需要直接赋值固定的几个变量,如果先初始化然后add的方法: List<String> name = new ArrayList( ...

  3. 一张PDF了解JDK9 GC调优秘籍-附PDF下载

    目录 简介 Oracle中的文档 JDK9中JVM参数的变化 废弃的JVM选项 不推荐(Deprecated)的JVM选项 被删除的JVM参数 JDK9的新特性Application Class Da ...

  4. Log4j的使用说明

    Log4j基本使用方法 Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定 ...

  5. 使用@AutoConfigureBefore调整配置顺序竟没生效?

    一个人的价值体现在能够帮助多少人.自己编码好,价值能得到很好的体现.若你做出来的东西能够帮助别人开发,大大减少开发的时间,那就功德无量. 作者:A哥(YourBatman) 公众号:BAT的乌托邦(I ...

  6. 攻防世界-新手篇(Mise)~~~

    Mise this_is_flag 签到题flag{th1s_!s_a_d4m0_4la9} pdf 打开图片,flag值在图片底下,wps将pdf转为word格式后,将图片拉开发现flag flag ...

  7. Linux系统安装JDK8

    一.卸载现用的JDK 1.查看Linux自带的JDK是否已安装 查看是否安装openjdk,java  -version (yum安装的 一般都是 OpenJDK     命令:yum install ...

  8. day17 作业

    目录 一.编写函数(函数执行的时间用time.sleep(n)模拟) 二.编写装饰器,为函数加上统计时间的功能 三.编写装饰器,为函数加上认证的功能 四.编写装饰器,为多个函数加上认证的功能(用户的账 ...

  9. requests接口自动化8-传递数据为xml形式的post请求:data

    传递数据为xml形式的post请求 请求体内容: <?xml version=“1.0” encoding = “UTF-8”?> <COM> <REQ name=&qu ...

  10. bzoj3384[Usaco2004 Nov]Apple Catching 接苹果*&&bzoj1750[Usaco2005 qua]Apple Catching*

    bzoj3384[Usaco2004 Nov]Apple Catching 接苹果 bzoj1750[Usaco2005 qua]Apple Catching 题意: 两棵树,每分钟会从其中一棵树上掉 ...