当前位置: 首页 > news >正文

docker compose入门6—如何挂载卷

在 Docker Compose 中,可以通过 volumes 字段将宿主机的文件或目录挂载到容器中。这样可以实现数据持久化、共享数据或配置等。以下是一些常见的挂载方式和示例。

1. 挂载单个文件

如果你想将宿主机上的一个特定文件挂载到容器中,可以使用以下格式:

version: '3.8'services:web:image: nginxvolumes:- ./nginx.conf:/etc/nginx/nginx.conf  # 将宿主机的 nginx.conf 挂载到容器中

在这个示例中,./nginx.conf 是宿主机上的文件路径,/etc/nginx/nginx.conf 是容器中的目标路径。

2. 挂载整个目录

你也可以挂载整个目录:

version: '3.8'services:app:image: myappvolumes:- ./data:/usr/src/app/data  # 将宿主机的 data 目录挂载到容器中

这里,./data 是宿主机的目录,/usr/src/app/data 是容器中的目标目录。

3. 使用命名卷

命名卷是在 Docker 中创建的独立卷,可以在多个容器之间共享。使用命名卷的示例:

version: '3.8'services:app:image: myappvolumes:- mydata:/usr/src/app/data  # 使用命名卷volumes:mydata:  # 定义命名卷

在这个例子中,mydata 是一个命名卷,Docker 会自动管理它的生命周期。

4. 使用绑定挂载(Bind Mounts)

如果需要更灵活的挂载,可以使用绑定挂载。示例如下:

version: '3.8'services:app:image: myappvolumes:- /path/on/host:/path/in/container  # 指定宿主机和容器中的路径

这里的 /path/on/host 是宿主机上的路径,/path/in/container 是容器内的路径。

5. 其他选项

你还可以使用其他选项来配置挂载:

version: '3.8'services:app:image: myappvolumes:- ./data:/usr/src/app/data:ro  # 只读挂载- ./config:/usr/src/app/config:delegated  # 使用代理挂载

在这个例子中,:ro 表示只读挂载,而 :delegated 是一个挂载模式,它允许容器快速访问文件,而在后台同步更改。

使用示例

假设你有一个应用程序需要一个配置文件和数据目录,下面是一个完整的 Docker Compose 示例:

version: '3.8'services:web:image: nginxvolumes:- ./nginx.conf:/etc/nginx/nginx.conf  # 挂载配置文件- ./data:/usr/share/nginx/html  # 挂载数据目录

在这个配置中,nginx.confdata 目录都被挂载到容器中,允许 Nginx 使用宿主机上的配置和数据。

总结

通过以上方法,你可以灵活地将宿主机的文件和目录挂载到 Docker Compose 容器中。这对于配置、持久化数据和共享文件非常有用。

http://www.lryc.cn/news/456059.html

相关文章:

  • linux 环境下 docker 镜像获取失败, 重新设置docker镜像下载地址
  • 【React】setState 是怎么记住上一个状态值的?
  • linux批量删文件
  • Kubernetes(K8s)的简介
  • 线性查找法 ← Python实现
  • view deign 和 vue2 合并单元格的方法
  • Arduino UNO R3自学笔记16 之 Arduino的定时器介绍及应用
  • 鸟类数据集,鸟数据集,目标检测class:bird,共一类13000+张图片yolo格式(txt)
  • 透明物体的投射和接收阴影
  • NL2SQL商业案例详解:AI智能开放搜索 OpenSearch
  • 【万字长文】Word2Vec计算详解(一)
  • 【EXCEL数据处理】000022 案例 保姆级教程,附多个操作案例。EXCEL邮件合并工具
  • 第十五周:机器学习笔记
  • Highcharts 散点图
  • 谷粒商城踩坑
  • 构建MySQL健康检查Web应用
  • 【LeetCode】每日一题 2024_10_8 旅行终点站(哈希)
  • Matlab实现海鸥优化算法优化回声状态网络模型 (SOA-ESN)(附源码)
  • 看门狗电路设计
  • No.13 笔记 | 网络安全防护指南:从法律法规到技术防御
  • 大数据毕业设计选题推荐-白酒销售数据分析-Python数据可视化-Hive-Hadoop-Spark
  • shell脚本写代码
  • SLM2104S高压半桥驱动SLM2104SCA-13GTR兼容IR2104 高压、高速的功率MOSFET和IGBT驱动器
  • 三层网络与三层组网
  • 从0开始下载安装并使用unity
  • QT:计算点到线段的垂线段的距离
  • 经典5级流水线概述
  • LSTM模型实现电力数据预测
  • jmeter学习(7)beanshell
  • TCP_SOCKET编程实现