对于使用 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

Docker Volume 的经常用法区别的更多相关文章

  1. docker attach 和 exec 用法区别

    attach 用法 $ sudo docker attach 665b4a1e17b6 #by IDor$ sudo docker attach loving_heisenberg #by Name$ ...

  2. 理解Docker(1):Docker 安装和基础用法

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  3. Docker 安装和基础用法

    理解Docker(1):Docker 安装和基础用法 本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 ...

  4. Docker学习笔记之docker volume 容器卷的那些事(一)

    预览目录 volume 方式 相关用例 使用方式 使用 volume driver bind mount 方式 相关用例 使用方式 配置selinux标签 配置macOS的安装一致性 tmpfs 方式 ...

  5. Docker volume speed up npm install

    上一节决定在Jenkins中采用Docker作为构建环境,于是就可以为所欲为的使用各种node版本编译我们的项目.解决了版本切换问题.然而,Docker设计的目的就是纯净的执行环境,因此每次运行doc ...

  6. Docker容器和镜像的区别

    docker容器和镜像区别  转自 https://www.cnblogs.com/bethal/p/5942369.html 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(conta ...

  7. 关于使用docker volume挂载的注意事项

    Content 在用Docker进行持久化的存储的时候,有两种方式: 使用数据卷(volume) -v 容器绝对路径 或者 -v 已经创建的volume名称:容器绝对路径 2. 使用挂载点(共享宿主目 ...

  8. order_by_、group_by_、having的用法区别

    写于 2012-11-20 22:14  doc文档上. Having 这个是用在聚合函数的用法.当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算.运算完后 ...

  9. html中的alt和title用法区别

    html中的alt和title用法区别 首先明确一下概念,alt是html标签的属性,而title既是html标签,又是html属性.title标签这个不用多说,网页的标题就是写在<title& ...

  10. 转 SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题

    SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题 SQL Union和SQL Union All用法 SQL UNION 操作符 UN ...

随机推荐

  1. Leetcode 2157 字符串分组

    广度搜索+哈希表+状态转换 贴代码: import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; ...

  2. 开发一个本地的供需求平台软件小程序单靠广告费就能月入3w+,你觉得香不香!

    最近合作了一个客户,需求是把现成的这种网站包装成App,在各大应用商店也能下载,做用户留存. 需求不复杂,现在已经完工了.事后处于好奇我又分析了一下这个项目的商业模式发现还挺好的,看前台数据基本上已经 ...

  3. [Git]入门及其常用命令

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/17993832 出自[进步*于辰的博客] Git 的难点 ...

  4. 手机,IPAD查看eagle素材库

    把eagle素材库塞进手机里是一种什么样的体验?手机和ipad也能查看eagle素材库,随时随地查询浏览素材. 先看使用截图 实现原理: 在任意电脑,服务器或者nas中安装PicHome系统.在Pic ...

  5. .NET Emit 入门教程:第五部分:动态生成方法(MethodBuilder 与 DynamicMethod)

    前言: 当我们涉及到在运行时生成和定义方法时,便需要使用到C#中的两个关键类之一:MethodBuilder 或 DynamicMethod. 这两者都属于反射(Reflection.Emit)的一部 ...

  6. VScode 配置私钥免密登录

    VScode 配置私钥免密登录 配置公钥私钥进行免密登录在前文已经提及.在完成上述配置后,我们希望在VScode中配置,毕竟主要的开发环境还是在VScode上且连接到远程服务器会经常遇到网络不稳定需要 ...

  7. 把分钟数转化成几小时几分钟(100 -> 01:40)

    /// <summary> /// 把分钟数转化成几小时几分钟(100 -> 01:40) /// </summary> /// <param name=" ...

  8. Linux Mint下Qt Creator无法输入中文解决办法

    注,本文所指的是linux中使用fcitx输入框架下,Qt程序输入中文的解决办法 如果是ibus输入框架,则不需要任何操作,可以直接输入中文 但是微信使用的是fcitx输入框架,且比较常用,故只能使用 ...

  9. 英语文档阅读学习系列之ZYNQ-7000 All Programmable SOC Packaging and Pinout

    UG865-Zynq-7000-pkg-pinout 1.Table 一个overview和其他部分的构成一个整体. 2.overview This section describes the pin ...

  10. KingbaseES 使用百分比函数获取中位数

    客户从Oracle数据库迁移至KingbaseES数据库,应用中使用MEDIAN函数来求中位数.KingbaseES数据库中没有MEDIAN函数,但可以通过百分比函数来实现相应的功能. MEDIAN ...