Docker Volume 的经常用法区别
对于使用 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 的经常用法区别的更多相关文章
- docker attach 和 exec 用法区别
attach 用法 $ sudo docker attach 665b4a1e17b6 #by IDor$ sudo docker attach loving_heisenberg #by Name$ ...
- 理解Docker(1):Docker 安装和基础用法
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- Docker 安装和基础用法
理解Docker(1):Docker 安装和基础用法 本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 ...
- Docker学习笔记之docker volume 容器卷的那些事(一)
预览目录 volume 方式 相关用例 使用方式 使用 volume driver bind mount 方式 相关用例 使用方式 配置selinux标签 配置macOS的安装一致性 tmpfs 方式 ...
- Docker volume speed up npm install
上一节决定在Jenkins中采用Docker作为构建环境,于是就可以为所欲为的使用各种node版本编译我们的项目.解决了版本切换问题.然而,Docker设计的目的就是纯净的执行环境,因此每次运行doc ...
- Docker容器和镜像的区别
docker容器和镜像区别 转自 https://www.cnblogs.com/bethal/p/5942369.html 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(conta ...
- 关于使用docker volume挂载的注意事项
Content 在用Docker进行持久化的存储的时候,有两种方式: 使用数据卷(volume) -v 容器绝对路径 或者 -v 已经创建的volume名称:容器绝对路径 2. 使用挂载点(共享宿主目 ...
- order_by_、group_by_、having的用法区别
写于 2012-11-20 22:14 doc文档上. Having 这个是用在聚合函数的用法.当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算.运算完后 ...
- html中的alt和title用法区别
html中的alt和title用法区别 首先明确一下概念,alt是html标签的属性,而title既是html标签,又是html属性.title标签这个不用多说,网页的标题就是写在<title& ...
- 转 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 ...
随机推荐
- 为什么延迟删除可以保证MYSQL 与redis的一致性?
看过很多保持MYSQL 与redis保持一致性的文章都提到了延迟删除,其实脱离任何业务场景的设计都是不切实际的,所以我会本着一个通用的读写场景去分析为什么延迟删除大概率可以保证MYSQL与redis的 ...
- 记录--Vue中的$attrs你真的会用吗?
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 先来看一个业务需求: 项目经常会遇到产品经理要求你做某组件一样的功能,还要在它的基础上增加东西.如何只用少量代码高效的二次封装组件呢? 例 ...
- 记录--使用 JS 实现基本的截图功能
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 思路分析 在开始动手之前,分析一下整个功能的实现过程: 根据图片大小创建 canvas1 画布,并将原图片直接定位在 canvas1 上: ...
- 记录-因为写不出拖拽移动效果,我恶补了一下Dom中的各种距离
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 最近在项目中要实现一个拖拽头像的移动效果,一直对JS Dom拖拽这一块不太熟悉,甚至在网上找一个示例,都看得云里雾里的,发现遇到最大 ...
- 《Go程序设计语言》学习笔记之slice
<Go程序设计语言>学习笔记之slice 一. 环境 Centos8.5, go1.17.5 linux/amd64 二. 概念 1) slice 表示一个拥有相同类型元素的可变长度的序列 ...
- Elasticsearch按照某个字段去重查询
索引较多: index-1_t_order index-2_t_order index-32_t_order 根据pay_amount排序,order_no去重,最后分页. 说明:1.collapse ...
- 取cookie时报错“[object Object]“ is not valid JSON
做谷粒学苑项目时,在保存登录状态环节出现该问题 取cookie时老师强调要使用JSON.pase()解析cookie为json对象 var userStr = cookie.get("gul ...
- KingbaseES Json 系列三:Json数据操作函数一
KingbaseES Json 系列三--Json数据操作函数一(JSONB_EACH,JSONB_EACH_TEXT,JSONB_OBJECT_KEYS,JSONB_EXTRACT_PATH,JSO ...
- Python---flask框架实现免密登录功能
思路总结: html代码: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta c ...
- #博弈论,贪心#AT2376 [AGC014D] Black and White Tree
题目传送门 分析 考虑到先手放一个白点后手必将在相邻位置放一个黑点, 如果没有合适的位置放黑点先手必胜,也就是问是否存在完美匹配, 直接从叶子节点到根贪心匹配即可 代码 #include <cs ...