docker 中 File Sharing 和Volumes 的区别

在 Docker 中,File SharingVolumes 都涉及到将文件和目录从主机系统映射到容器中,但它们的用途和实现方式有一些重要的区别:

一、简介

  1. File Sharing 是 Docker Desktop 在 Windows 和 macOS 上的一项功能,允许你将主机文件系统的一部分共享给 Docker 容器。这个功能通常用于让 Docker 容器访问主机上的文件。具体来说:
  • 共享机制

    • 你需要在 Docker Desktop 的设置中手动配置哪些目录可以被 Docker 容器访问。
    • 通过这种方式,容器可以访问指定的主机目录。
    • 在这里插入图片描述
  • 使用场景

    • 常用于开发环境中,当你希望在主机系统和容器之间快速同步代码和配置文件时。
    • 适用于需要频繁访问和修改主机上的文件的场景。
  1. Volumes 是 Docker 提供的持久化存储解决方案。Volumes 由 Docker 管理,存储在 Docker 主机文件系统的特定位置。使用 Volumes 有以下特点:
  • 文件结构
    在这里插入图片描述

  • 管理和隔离

    • Volumes 是由 Docker 管理的,并且可以被多个容器共享使用。
    • 它们提供了更高的隔离性和安全性,适合生产环境中的数据持久化存储。
  • 使用场景

    • 常用于数据库、日志文件、配置文件等需要持久化存储的数据。
    • 适用于需要跨容器共享数据的场景。
    • 适用于需要在容器重启后仍然保留数据的场景。

二、 具体区别

  1. 定义和配置

    • File Sharing:在 Docker Desktop 的设置中配置,可以访问主机上的任意目录。
    • Volumes:通过 Docker CLI 或 Docker Compose 配置,使用 docker volume 命令进行管理。
  2. 性能和隔离性

    • File Sharing:可能会受到主机文件系统和 Docker 之间的性能开销影响,特别是在 Windows 和 macOS 上。
    • Volumes:通常性能更好,因为它们是由 Docker 引擎直接管理和优化的。
  3. 持久性

    • File Sharing:数据存储在主机的文件系统上,容器删除后数据仍然存在。
    • Volumes:数据同样持久化存储,容器删除后数据仍然存在,但存储位置由 Docker 管理。
  4. 使用方式

    • File Sharing:需要在 Docker Desktop 设置中启用共享目录,然后使用 -v 参数挂载。例如:
      docker run -v /host/path:/container/path ...
      
    • Volumes:可以使用 -v--mount 参数挂载 Volume。例如:
      docker volume create my-volume
      docker run -v my-volume:/container/path ...
      
  5. 文件系统结构
    在这里插入图片描述

三、示例

File Sharing 示例

确保在 Docker Desktop 设置中共享了 E:\docker 目录:

docker run --name nginx-web -p 8088:80 -v /e/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /e/docker/nginx/www:/usr/share/nginx/html -v /e/docker/nginx/logs:/var/log/nginx -d nginx
Volume 示例

创建一个 Volume 并使用它:

docker volume create nginx-conf
docker volume create nginx-html
docker volume create nginx-logsdocker run --name nginx-web -p 8088:80 -v nginx-conf:/etc/nginx/nginx.conf -v nginx-html:/usr/share/nginx/html -v nginx-logs:/var/log/nginx -d nginx

四、总结

  • File Sharing 适用于开发环境中的快速文件同步和访问。
  • Volumes 适用于生产环境中的数据持久化和跨容器数据共享。
    选择哪种方式取决于你的具体需求和使用场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/353076.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

API-操作元素内容

学习目标: 掌握操作元素内容 学习内容: 操作元素内容元素innerText属性元素innerHTML属性案例 操作元素内容: DOM对象都是根据标签生成的,所以操作标签,本质上就是操作DOM对象。就是操作对象使用的点语法。如果想要修…

开源的数字孪生平台

欧洲对工业4.0的追求体现在三个方面: 数字孪生、智能制造和万物互联。 资助2440万欧元的开源数字孪生平台 源代码: http://www.gitpp.com/ccdan/dpqq-digital-twins 这套数字孪生是工业4.0整体规划中的中的一项技术,实现了一种称为“数字…

正则表达式常用表示

视频教程:10分钟快速掌握正则表达式 正则表达式在线测试工具(亲测好用):测试工具 正则表达式常用表示 限定符 a*:a出现0次或多次a:a出现1次或多次a?:a出现0次或1次a{6}:a出现6次a…

UE4_材质_雨滴涟漪效果ripple effect_ben教程

学习笔记,不喜勿喷!侵权立删,祝愿生活越来越好! 雨水落下时会产生这些非常漂亮的同心环波纹,我们要做的第一件事是创建一个单个的圆环遮罩动画,我们希望环在开始的时候在中心很小,然后放大&…

论文发表CN期刊《高考》是什么级别的刊物?

论文发表CN期刊《高考》是什么级别的刊物? 《高考》是由吉林省长春出版社主管并主办的省级教育类期刊,期刊以科教兴国战略为服务宗旨,专门反映和探索国内外教育教学和科研实践的最新成果。该期刊致力于为广大教育工作者提供一个高质量的学术…

Docker部署常见应用之SFTP服务器

文章目录 简介Dockers部署单用户多用户用户信息加密使用SSH密钥认证 参考文章 简介 atmoz/sftp 是一个基于 Docker 的 SFTP 服务镜像,它使用 OpenSSH 来提供 SFTP 服务。这个镜像支持创建单个或多个用户的 SFTP 访问,并允许用户通过 SFTP 协议安全地共享…

CAN总线仲裁(四)

​ 多设备同时发送遇到的问题 CAN总线只有一对差分信号线,同一时间只能有一个设备操作总线发送数据,若多个设备同时有发送需求,该如何分配总线资源? 解决问题的思路:制定资源分配规则,依次满足多个设备的…

空气质量预报模式系统WRF-CMAQ

空气污染问题日益受到各级政府以及社会公众的高度重视,从实时的数据监测公布到空气质量数值预报及预报产品的发布,我国在空气质量监测和预报方面取得了一定进展。随着计算机技术的高速发展、空气污染监测手段的提高和人们对大气物理化学过程认识的深入&a…

【vue大作业-端午节主题网站】【预览展示视频和详细文档】

vue大作业-端午节主题网站介绍 端午节,又称为龙舟节,是中国的传统节日之一,每年农历五月初五庆祝。这个节日不仅是纪念古代爱国诗人屈原的日子,也是家人团聚、共享美食的时刻。今天,我们非常高兴地分享一个以端午节为…

高压防触碰预警装置,工期重要还是命重要?

“说了多少遍了,不要在高压线下赶工期”吊车违规施工碰撞到高压线,导致供电线路跳闸停电事故,现场火花四溅及其危险, 高压线路被外力破坏的情况,违规施工、赶工期、视觉盲区导致线路外破等情况,想必大家也…

基于STM32的简易智能家居设计(嘉立创支持)

一、项目功能概述 1、OLED显示温湿度、空气质量,并可以设置报警阈值 2、设置4个继电器开关,分别控制灯、空调、开关、风扇 3、设计一个离线语音识别系统,可以语音控制打开指定开关、并且可以显示识别命令词到OLED屏上 4、OLED实时显示&#…

基于B/S版java语言+SpringBoot技术开发的云HIS系统源码 HIS系统住院业务模块常见问题及解决方案

基于B/S版java语言SpringBoot技术开发的云HIS系统源码 HIS系统住院业务模块常见问题及解决方案 随着医疗技术的不断提高,住院治疗已成为许多病人的常规选择。但是,住院治疗不仅需要医护人员的精心照顾,也需要个高效的信息系统来保证整个治疗过…

flac格式如何转mp3?7大热门实用音频转换软件大PK

FLAC是Free Lossless Audio Codec(免费无损音频编解码器)的缩写,是一种在压缩文件大小的同时保留原始音乐质量的音频格式。不过,大多数音频格式都会在音乐质量和文件大小之间做出权衡。当你使用flac获得更好的音乐质量时&#xff…

C++ 63 之 函数模版和普通函数的区别

#include <iostream> #include <string> using namespace std;template<typename T> T myAdd(T a, T b){return a b; }int myAdd2(int a, int b){return a b; }int main() {int a 1;int b 2;char c a; // a的ask码 97// cout << myAdd(a,c) <…

BarTender软件最新版下载-bartender条码标签打印软件下载

​​BarTender​​是一款遵循“look and feel”标准的​​条码打印​​软件。​​BarTender​​条码打印软件能够帮助用户挥洒自如&#xff0c;轻松制作出标签条码&#xff0c;包括文本、图形、​​条形码​​和大多数序列化功能。BarTender条码打印软件功能强大、操作简单&…

基于QT和C++实现的中国象棋

一&#xff0c;源码 board.h #ifndef BOARD_H #define BOARD_H#include <QWidget> #include "Stone.h"class Board : public QWidget {Q_OBJECT public:explicit Board(QWidget *parent 0);bool _bRedTurn; // 红方先走int _currentPlayer; // 当前玩家&…

2025年计算机毕业设计题目参考

今年最新计算机毕业设计题目参考 以下可以参考 springboot洗衣店订单管理系统 springboot美发门店管理系统 springboot课程答疑系统 springboot师生共评的作业管理系统 springboot平台的医疗病历交互系统 springboot购物推荐网站的设计与实现 springboot知识管理系统 springbo…

5G工业路由器在智慧交通车路协同应用的深度解析

随着科技的飞速发展&#xff0c;智慧交通已成为现代城市发展的重要方向。在智慧交通的众多技术中&#xff0c;5G工业路由器凭借其高速、稳定、安全等特性&#xff0c;成为车路协同应用中不可或缺的一环。本文将在本文中深度解析5G工业路由器在智慧交通车路协同应用中的重要作用…

Interlinks Manager评测:WordPress 的最佳内部链接插件?

在这篇Interlinks Manager评测中&#xff0c;我们将彻底查看它是否真的是 WordPress 最佳内部链接插件&#xff01;我们还将检查它是否值得您尝试。现在就开始吧 快速浏览一下插件&#xff0c;你就会对其提供的功能有一个基本的了解。 Interlinks Manager是一款 SEO 插件&…

C++迈向精通:当我尝试修改虚函数表

尝试修改虚函数表 本期纯整活儿好吧&#xff01;&#xff01;&#xff01;&#xff01; 初衷 有一天我突然开始好奇虚函数表是否真的存在&#xff0c;于是我开始想是否能够从C中查看或者调用虚函数表中的内容。&#xff0c;于是有了下面的操作。 操作过程 起初我并没有思路…