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

doucker 挂载卷

在 Docker 中,挂载卷(Volumes)是一种非常重要的功能,它允许你将宿主机的文件系统与容器的文件系统进行共享。挂载卷不仅可以用于持久化数据,还可以用于在宿主机和容器之间传递文件。
挂载卷的类型
Docker 支持多种类型的挂载卷,主要包括以下几种:
绑定挂载(Bind Mounts):将宿主机的目录或文件直接挂载到容器内部。
命名卷(Named Volumes):由 Docker 管理的存储在宿主机上的卷,具有名称。
匿名卷(Anonymous Volumes):没有名称的卷,通常用于临时存储。
tmpfs 挂载:将数据存储在内存中,容器停止后数据丢失。
示例:使用挂载卷
1. 绑定挂载(Bind Mounts)
绑定挂载是最常用的挂载方式,可以直接将宿主机的目录或文件映射到容器内部。
示例命令:
bash
复制
docker run -d -p 80:80 --name my-webapp -v /path/to/host:/path/to/container nginx
-v /path/to/host:/path/to/container:将宿主机的 /path/to/host 目录挂载到容器的 /path/to/container 目录。
nginx:使用 Nginx 镜像运行容器。
示例场景:
假设你在宿主机的 /var/www/html 目录中有一些静态网页文件,希望将它们挂载到 Nginx 容器的 /usr/share/nginx/html 目录中,可以使用以下命令:
bash
复制
docker run -d -p 80:80 --name my-webapp -v /var/www/html:/usr/share/nginx/html nginx
2. 命名卷(Named Volumes)
命名卷由 Docker 管理,具有名称,便于在多个容器之间共享和重用。
创建命名卷:
bash
复制
docker volume create myvolume
使用命名卷:
bash
复制
docker run -d -p 80:80 --name my-webapp -v myvolume:/usr/share/nginx/html nginx
3. 匿名卷(Anonymous Volumes)
匿名卷没有名称,通常用于临时存储,容器删除后,匿名卷也会被删除。
使用匿名卷:
bash
复制
docker run -d -p 80:80 --name my-webapp -v /usr/share/nginx/html nginx
4. tmpfs 挂载
tmpfs 挂载将数据存储在内存中,容器停止后数据丢失。
使用 tmpfs 挂载:
bash
复制
docker run -d -p 80:80 --name my-webapp --mount type=tmpfs,destination=/usr/share/nginx/html nginx
挂载卷的管理
Docker 提供了一些命令来管理挂载卷:
查看所有挂载卷
bash
复制
docker volume ls
查看挂载卷的详细信息
bash
复制
docker volume inspect myvolume
删除挂载卷
bash
复制
docker volume rm myvolume
清理未使用的挂载卷
bash
复制
docker volume prune
示例:在 ROS 2 容器中使用挂载卷
假设你正在运行一个 ROS 2 容器,并希望将宿主机上的工作空间挂载到容器中,可以使用以下命令:
bash
复制
docker run -it -v /path/to/host/workspace:/root/ros2_ws osrf/ros:humble-desktop-full-jammy /ros_entrypoint.sh bash
-v /path/to/host/workspace:/root/ros2_ws:将宿主机的 /path/to/host/workspace 目录挂载到容器的 /root/ros2_ws 目录。
osrf/ros:humble-desktop-full-jammy:使用 ROS 2 Humble 镜像。
/ros_entrypoint.sh bash:进入交互式 Bash shell。
通过这种方式,你可以在容器中直接访问宿主机上的文件,方便开发和调试。
注意事项
路径问题:确保宿主机路径和容器路径正确无误。
权限问题:挂载卷时,容器内的用户需要有足够的权限访问挂载的目录或文件。
数据持久化:如果需要持久化数据,建议使用命名卷。


文章转载自:
http://bachelorette.riewr.cn
http://aghan.riewr.cn
http://bantamweight.riewr.cn
http://chapel.riewr.cn
http://anemophilous.riewr.cn
http://asynchrony.riewr.cn
http://backlog.riewr.cn
http://baba.riewr.cn
http://appose.riewr.cn
http://backpedal.riewr.cn
http://bourdon.riewr.cn
http://batrachian.riewr.cn
http://catechumen.riewr.cn
http://carver.riewr.cn
http://byte.riewr.cn
http://bluebutton.riewr.cn
http://atmolyze.riewr.cn
http://amalgamate.riewr.cn
http://bradshaw.riewr.cn
http://ashine.riewr.cn
http://apothecium.riewr.cn
http://chinoiserie.riewr.cn
http://cassation.riewr.cn
http://carabineer.riewr.cn
http://chou.riewr.cn
http://atonal.riewr.cn
http://absquatulater.riewr.cn
http://chapstick.riewr.cn
http://babesiosis.riewr.cn
http://amylolytic.riewr.cn
http://www.dtcms.com/a/216024.html

相关文章:

  • 零基础设计模式——结构型模式 - 装饰器模式
  • ubuntu 制作 ssl 证书
  • 通过ansible playbook创建azure 资源
  • 电子邮箱设置SSL:构建邮件传输的加密护城河
  • 解决Qt 打包的软件缺少dll问题
  • UDP 传输时间(延迟)
  • 记录:训练过程中可训练参数出现nan和inf造成loss为nan
  • 2025年6月亲测可用 | 剪映免SVIP版本 | 支持数字人
  • 8.安卓逆向2-frida hook技术-frida环境安装
  • 利用亮数据实现大规模数据自动抓取
  • 如何验证 AXI5 原子操作
  • Linux 进阶命令篇
  • (自用)Java学习-5.19(地址管理,三级联动,预支付)
  • WSL连接网络
  • 【观成科技】Ymir勒索软件组织窃密木马RustyStealer加密通信分析
  • 联软科技统一安全工作空间:零信任架构下的远程办公数据安全守护者
  • 塔能科技:有哪些国内工业节能标杆案例?
  • vue3基本类型和对象类型的响应式数据
  • [Vue组件]比例环形编辑
  • 【前端】【Vue3】vue3性能优化总结
  • 关于Oracle LATCH:LIBRARY CACHE
  • 【Vue Vapor Mode :技术突破与性能优化的可能性】
  • 《棒球特长生》棒球升学途径·棒球1号位
  • 深度学习能取代机器学习吗?
  • 给定数组 nums,判断是否存在三个元素 a, b, c 使得 a + b + c = 0。
  • 基于vue框架的动物园饲养管理系统a7s60(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 四足机器人环境监测系统相关问题
  • 鸿蒙OSUniApp 实现登录状态管理与持久化#三方框架 #Uniapp
  • 深度学习常用概念详解:从生活理解到技术原理
  • 调不好分布式锁?HarmonyOS + Redis 分布式锁失效排查全路径