返回顶部
首页 > 资讯 > 精选 >docker进行数据挂载的模式有哪些
  • 341
分享到

docker进行数据挂载的模式有哪些

2023-06-30 16:06:35 341人浏览 薄情痞子
摘要

今天小编给大家分享一下Docker进行数据挂载的模式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Docker 提供了

今天小编给大家分享一下Docker进行数据挂载的模式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

Docker 提供了三种方式将数据从宿主机挂载到 Docker容器中: volumes、bind mounts、tmpfs 。

Volumes是在宿主机文件系统的一个路径,默认情况下统一的父路径是 /var/lib/docker/volumes/,非 Docker 进程不能修改这个路径下面的文件,所以说 Volumes 是容器数据持久存储数据最安全的一种方式。Bind mounts 可以将文件存储在宿主机文件系统的任何路径,所以非 Docker进程也可以对其进行修改,存在潜在的安全风险。Tmpfs 只存储在宿主机的内存中,不会写入到宿主机文件系统中,不会持久化存储。

一、Tmpfs挂载

需要再次强调的是tmpfs 挂载是临时的,只存留在容器宿主机的内存中。当容器停止时,tmpfs 挂载文件路径将被删除,在那里写入的文件不会被持久化。

docker run -d \ -p 8888:8888 \ --tmpfs /tmp \ --name spboot  zimug/docker-test:1

学过SpringBoot的同学可能都知道,springBoot项目启动之后会在/tmp目录下面解压出Tomcat容器,提供WEB服务。

docker进行数据挂载的模式有哪些

所以将/tmp目录使用tmpfs方式挂载到宿主机的内存中,不仅场景合适,也会提升springboot项目的运行效率(内存操作)。

二、Bind mounts

其实Bind Mounts挂载数据卷的方式也是大家最常见的一种方式,比如使用-v参数绑定数据卷,其中/root/Nginx/html是我们任意指定的一个宿主机磁盘文件目录,这种情况下就是Bind mounts方式挂载数据卷。

-v /root/nginx/html:/usr/share/nginx/html/

除了使用-v参数绑定的方式,还可以使用--mount参数绑定的方式实现Bind mounts数据卷挂载。在--mount参数绑定的方式之前,我们先创建一个宿主机文件路径mkdir -p /root/nginx/html用于做实验 。

docker run -d --name bind-mount-nginx \  -p 80:80 \  --mount type=bind,source=/root/nginx/html,target=/usr/share/nginx/html/,readonly \  nginx:latest

--mount 以键值对的方式传参,比-v提供了更多的选项

  • type=bind表示以Bind mounts方式挂载数据卷

  • source=/root/nginx/html表示宿主机的文件路径

  • target=/usr/share/nginx/html/表示容器的文件路径,宿主机source文件路径挂载到容器的target路径readonly配置参数,表示文件路径采用只读的方式挂载 三、Bind mounts-测试是否正确挂载数据卷

在宿主机 /root/nginx/html目录下新建一个index.html,文件内容如下

<!DOCTYPE html><html><body>    <h2>Bind mounts</h2></body></html>

访问容器宿主机服务器80端口得到如下的响应结果,证明数据卷挂载成功了。

docker进行数据挂载的模式有哪些

四、Bind mounts-验证只读挂载

--mount中加入一个readonly配置参数,表示文件路径采用只读的方式挂载。即:该路径下的文件可以在宿主机上进行修改,但是容器内的应用程序不能修改该文件。

--mount type=bind,source=/root/nginx/html,target=/usr/share/nginx/html/,readonly

可以通过docker inspect <容器ID或容器名称> 查看数据卷的挂载结果,如下

"Mounts": [
    {
        "Type": "bind",
        "Source": "/root/nginx/html",
        "Destination": "/usr/share/nginx/html",
        "Mode": "",
        "RW": false,
        "Propagation": "rprivate"
    }
],

  • 数据卷挂载类型是bind(mount bind)

  • 宿主机源路径/root/nginx/html,容器挂载目标路径/usr/share/nginx/html

  • "RW": false表示只读模式,路径内文件不能被容器内程序修改

大家可以通过docker exec -it <容器ID或容器名称> /bin/bash 进入容器内部尝试修改/usr/share/nginx/html路径下的文件,看看能不能修改,相信经过你的验证答案一定是否定的。

以上就是“docker进行数据挂载的模式有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: docker进行数据挂载的模式有哪些

本文链接: https://lsjlt.com/news/330288.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • docker进行数据挂载的模式有哪些
    今天小编给大家分享一下docker进行数据挂载的模式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Docker 提供了...
    99+
    2023-06-30
  • 详解docker进行数据挂载的三种模式
    目录一、Tmpfs挂载二、Bind mounts三、Bind mounts-测试是否正确挂载数据卷四、Bind mounts-验证只读挂载Docker 提供了三种方式将数据从宿主机挂...
    99+
    2024-04-02
  • Docker实现挂载的方式有哪些
    这篇文章主要讲解了“Docker实现挂载的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker实现挂载的方式有哪些”吧!Docker实现挂载的方式在介绍VOLUME指令之前,...
    99+
    2023-07-05
  • docker的网络模式有哪些
    Docker的网络模式有以下几种: bridge(默认):Docker在主机上创建一个虚拟的网络桥接接口,容器加入到这个网络中后可...
    99+
    2023-10-30
    docker
  • Pandas进行数据编码的方式有哪些
    这篇文章主要介绍“Pandas进行数据编码的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Pandas进行数据编码的方式有哪些”文章能帮助大家解决问题。最近在知乎上看到这样一个问题为了方便...
    99+
    2023-06-30
  • Tomcat的运行模式有哪些
    Tomcat的运行模式有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。tomcat的运行模式有3种一、bio(blocking I/O)即阻塞式I/O操作,表示Tomcat...
    99+
    2023-05-31
    tomcat omc tomca
  • PHP有哪些运行模式
    这篇文章将为大家详细讲解有关PHP有哪些运行模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。运行模式:1、CGI协议模式,服务器通过特定协议与程序通信;2、“fast-cgi”协议模式,开启后可一直处理...
    99+
    2023-06-14
  • 数据传输加密的模式有哪些
    数据传输加密的模式有以下两种对称加密对称加密是采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,对称性加密通常在消息发送方需要加密大量数据时使用。非对称加密非对称加密使用了公钥和私钥,私钥只能由一方安全保管,不能外泄,而公...
    99+
    2024-04-02
  • Linux挂载的知识点有哪些
    Linux挂载的知识点有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在 Linux 系统中,可以通过挂载的方式来使用一些外部设备,这种情况下需要我们掌握的知识点主要有...
    99+
    2023-06-28
  • Docker搭建MySQL并挂载数据的全过程
    目录一、Docker搭建MySQL并挂载数据二、挂载是否生效其他总结 记录 Docker 搭建 MySQL 并挂载数据过程,搭建过程参考自 Docker Hub&...
    99+
    2024-04-02
  • php中有哪些运行模式
    本篇文章给大家分享的是有关php中有哪些运行模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开...
    99+
    2023-06-14
  • Docker容器的创建运行方式有哪些
    这篇文章主要介绍“Docker容器的创建运行方式有哪些”,在日常操作中,相信很多人在Docker容器的创建运行方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Dock...
    99+
    2024-04-02
  • Flink支持的数据处理模式有哪些
    Flink支持以下几种数据处理模式: 批处理模式(Batch Processing):用于处理有界数据集,一次性处理整个数据集,...
    99+
    2024-04-02
  • Apache Pig中的执行模式有哪些
    Apache Pig有两种执行模式: 本地模式(Local Mode):在本地模式下,Pig会在本地机器上执行作业,适用于小规模...
    99+
    2024-04-02
  • hadoop可以运行的模式有哪些
    Hadoop可以运行的模式包括以下几种: 单机模式(Standalone Mode):在单台机器上运行Hadoop,适合开发和测...
    99+
    2024-03-13
    hadoop
  • Hive中的数据仓库设计模式有哪些常见模式
    在Hive中,常见的数据仓库设计模式包括以下几种: 星型模式(Star Schema):星型模式是数据仓库中最常见的模式之一,通...
    99+
    2024-04-02
  • Docker中Speedy的模块有哪些
    这篇“Docker中Speedy的模块有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Docker中Speedy的模块有...
    99+
    2023-06-27
  • docker 挂载MySQL实现数据持久化的实现
    目录环境配置MySQL数据持久化注意事项环境配置 本地操作系统:Win10虚拟机的操作系统:CentOS Stream 8已安装docker,可以参考详细安装教程 MySQL数据持久...
    99+
    2024-04-02
  • linux挂载失败的原因有哪些
    1. 硬件问题:硬盘故障或连接问题可能导致无法挂载。2. 文件系统问题:如果文件系统损坏或格式不正确,可能导致挂载失败。3. 权限问...
    99+
    2023-09-15
    linux
  • 数据库日志记录模式有哪些
    本篇内容介绍了“数据库日志记录模式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、日志记录模式(L...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作