首页 > 其他分享 >Docker Volume 的经常用法区别

Docker Volume 的经常用法区别

时间:2024-01-30 18:14:31浏览次数:23  
标签:volume local 宿主机 用法 Volume path Docker my

对于使用 NFS 的 Docker 数据卷,配置示例应当类似于这样:

version: '3'
services:
  my_service:
    image: your_image
    volumes:
      # 挂载命名的数据卷到容器内的路径(详细模式)
      - type: volume
        source: my_nfs_volume   
        target: /path/in/container

  my_service1:
    image: your_image1
    volumes:
      # 将宿主机上的目录(或文件)绑定并挂载到容器内部(详细模式)
      - type: bind
        source: ./host/path
        target: /container/path

  my_service2:
    image: your_image2
    volumes:
      # 挂载命名的数据卷到容器内的路径(简洁写法)
      - my_local_valume:/path/in/container2

volumes:  # 定义和配置数据卷部分
  my_nfs_volume:  # 命名的数据卷
    driver: "nfsv4" # 假设有一个名为 nfsv4 的 NFS 驱动插件可用
    driver_opts:
      server: nfs-server-ip-address
      share: /path/to/nfs/share

  my_local_valume: # 定义本地数据卷部分
    driver: local  # 默认情况下,无需指定driver为local,因为这是默认的数据卷驱动

    # 如果需要指定额外的选项,比如设置volume的位置,可以使用以下语法(但请注意,Docker Compose不直接支持设置local volume的具体路径)
    # driver_opts:
    #   type: none
    #   o: bind
    #   device: /host/path/to/volume

# 上述配置中,my_local_volume 是一个自动创建的本地数据卷。

# 如果没有提供具体的driver_opts来绑定宿主机上的特定路径,Docker将会在宿主机的内部位置自动创建并管理这个数据卷。

 

----------------------------------------------------------------------------------------------------

注意:

在 Docker Compose 中,对于本地数据卷,默认情况下你不需要明确指定 driver: local,因为它已经是默认的数据卷驱动。
Docker Compose 直接创建的本地数据卷通常不会让你自定义其在宿主机上的具体存储路径。
它会由 Docker 引擎自动管理,并存储在宿主机的一个特殊目录下。
如果你确实想要将宿主机上的某个特定路径与容器内的数据卷进行绑定,那么你应该在服务的 volumes 部分直接使用宿主机路径挂载的方式,而不是在 volumes 下面定义一个单独的本地数据卷,示例如下:

services:
  my_service:
    image: your_image
    volumes:
      - ./host/path:/path/in/container # 将宿主机上的路径直接映射到容器内

 

这种方式实际上是利用了 Docker 的 bind mount 而不是数据卷功能,但它同样实现了数据持久化的目的。

 

Link:Docker Volume

标签:volume,local,宿主机,用法,Volume,path,Docker,my
From: https://www.cnblogs.com/farwish/p/17997683

相关文章

  • dockerfile安装jenkins 并配置构建工具(node、npm、maven、git)
    dockerfile安装jenkins并配置构建工具(node、npm、maven、git):https://blog.csdn.net/weixin_39660224/article/details/88775707?ops_request_misc=&request_id=&biz_id=102&utm_term=dockerfile%20%E5%88%9B%E5%BB%BAjenkins&utm_medium=distribute.pc_search_result.......
  • jenkins常见用法
    jenkins的一些设置工具设置指定maven配置文件配置jdk配置maven邮件配置系统邮件配置新建maven项目需要安装MavenIntegrationplugin才有这个风格的项目构建触发器git配置构建打包构建脚本jenkins的构建基本大概都是这5部分git地址#代码仓库......
  • 离线安装docker
    一linux离线安装1.从官方下载Docker安装包并上传至虚拟机https://download.docker.com/linux/static/stable/x86_64/2.解压安装包tarxvfdocker-20.10.0.tgz3.将解压出来的docker文件内容移动到/usr/bin/目录下cpdocker/*/usr/bin/4.将docker注册为service服务......
  • Docker 与 Linux Cgroups:资源隔离的魔法之旅
    这篇文章主要介绍了Docker如何利用Linux的ControlGroups(cgroups)实现容器的资源隔离和管理。最后通过简单Demo演示了如何使用Go和cgroups交互。<!--more-->如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关注微信公众号。搜索公众号【探索云原......
  • docker详细内容
    Docker官方文档地址:https://www.docker.com/get-started中文参考手册:https://docker_practice.gitee.io/zh-cn/1.什么是Docker1.1官方定义最新官网首页#1.官方介绍-Wehaveacompletecontainersolutionforyou-nomatterwhoyouareandwhereyouare......
  • Qt QQueue 详解:从底层原理到高级用法
    引言:QQueue的重要性与简介在现代软件开发中,数据结构和算法扮演着至关重要的角色。它们为程序员提供了处理各种不同场景下数据的有效方法。QQueue(队列)是一种常见且实用的数据结构,它在许多应用中都发挥着关键作用。本文将简要介绍QQueue的重要性和简介。队列(Queue)是一种遵......
  • 最全的项目部署+持续集成解决方案:Jenkins + git + docker
    最全的项目部署+持续集成解决方案:Jenkins+git+docker:https://blog.csdn.net/m0_45806184/article/details/126408527?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-126408527-blog-128137274.235^v43^control&spm=1001.21......
  • 手摸手教你 docker+jenkins+gitlab 部署你的前端项目
    手摸手教你docker+jenkins+gitlab部署你的前端项目 :https://blog.csdn.net/wx17343624830/article/details/128137274?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-128137274-blog-132392231.235^v43^control&spm=1001.2......
  • python中with的用法
    一、文件操作#自行车f=open("filename")f.write()f.close()上述代码存在的问题:(1)直接open()打开需要手动关闭,并且容易忘记关闭(2)当文件操作出现异常导致程序提早离开,而没有执行关闭文件操作#小轿车try:f=open("xxx")f.write()#文件操作except:doso......
  • nftables用法介绍
    Kubernetes1.29版本中已经将nftables作为一个featureGates,本文简单整理了nftables的用法,便于后续理解kubernetes的nftables规则。文末给出了使用kubeadm部署启用nftablesfeatureGates的配置文件。如下内容来源nftables的man文档以及wiki。nftables和iptables的不同之处nfta......