docker中三种常用的持久化数据的方式

文章目录

  • 介绍
    • 1.docker run -v
    • 2.volumes
    • 3.bind mounts

介绍

“前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。”

在Docker中,有以下三种常用的持久化数据的方式,可以将宿主机挂载到容器中

  • 1.docker run -v
    运行容器是,直接挂载本地目录到容器中
  • 2.Docker 数据卷(Docker Volumes):
    • docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)
    • 是docker默认的存储数据费昂视
  • 3.bind mounts:
    • 将宿主机上的任意位置文件或目录挂载到容器中

下面进行练习说明:

1.docker run -v

运行一个容器,挂载本地目录

创建本地目录

mkdir /opt/wwwroot
echo "web1" > /opt/wwwroot/index.html

想本地目录中添加index.html文件

docker run -d --name web1 -v opt/wwwroot/index:/usr/share/nginx/html nginx:latest

运行容器,将/opt/wwwroot目录挂载到/usr/share/nginx/html目录中
docker ps

在这里插入图片描述
查容器ip

docker inpect web1 | grep IPAddress

在这里插入图片描述
访问nginx容器

在这里插入图片描述
可以看到本地的文件已经映射到了容器中。

2.volumes

创建一个特殊的目录,由 Docker 管理,并且可以在多个容器之间共享和重用。使用 -v 或 --mount 参数以及卷的名称指定要挂载的数据卷。

注意
位置是: var/lib/docker/volumes/
不是很灵活!!!

创建一个容器卷:

/var/lib/docker/volumes/nginx-vol/

查看该文件

ls /var/lib/docker/volumes/nginx-vol/_data/

在这里插入图片描述
还没有任何东西

docker run -d --name web2 --mount src=nginx-vol,dst=/usr/share/nginx/html nginx:latest

再次查看挂载点

ls /var/lib/docker/volumes/nginx-vol/_data/

在这里插入图片描述

3.bind mounts

这种方式比volumens 比较灵活,可以在宿主机任何位置创建文件挂载。

创建用于容器挂载目录web5root

mkdir /opt/web5root

运转web5容器使用bindmount方式实现本地任意目录挂载

docker run -d --name web5 --mount type=bind,src=/opt/web5root,dst=/usr/share/nginx/html nginx:latest

查看已创建目录,里面没有任何数据

ls /opt/web5root/

添加内容到 /opt/web5root/index中

echo "web5 running" > index.html

使用url或者wget访问容器,curl上面用过了,这次用wget

wget -O - -q 172.21.83.6

在这里插入图片描述

这些持久化方式提供了不同的灵活性和适应性,可以根据具体需求选择合适的方式进行数据的持久化。


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

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

相关文章

Kotlin快速入门系列10

Kotlin的委托 委托模式是常见的设计模式之一。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。与Java一样,Kotlin也支持委托模式,通过关键字by。 类委托 类的委托即一个类中定义的方…

2024美赛数学建模A题思路分析 - 资源可用性和性别比例

1 赛题 问题A:资源可用性和性别比例 虽然一些动物物种存在于通常的雄性或雌性性别之外,但大多数物种实质上是雄性或雌性。虽然许多物种在出生时的性别比例为1:1,但其他物种的性别比例并不均匀。这被称为适应性性别比例的变化。例…

【Javaweb程序】【C00155】基于SSM的旅游旅行管理系统(论文+PPT)

基于SSM的旅游旅行管理系统(论文PPT) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于SSM的旅游旅行管理系统 本系统分为前台系统模块、管理员模块、用户模块以及商家模块 其中前台系统模块的权限为:当游客打开系统的网址后…

C++ 数论相关题目 博弈论:拆分-Nim游戏

给定 n 堆石子,两位玩家轮流操作,每次操作可以取走其中的一堆石子,然后放入两堆规模更小的石子(新堆规模可以为 0 ,且两个新堆的石子总数可以大于取走的那堆石子数),最后无法进行操作的人视为失…

Scrum敏捷开发企业培训-敏捷研发管理

课程简介 Scrum是目前运用最为广泛的敏捷开发方法,是一个轻量级的项目管理和产品研发管理框架。 这是一个两天的实训课程,面向研发管理者、项目经理、产品经理、研发团队等,旨在帮助学员全面系统地学习Scrum和敏捷开发, 帮助企业快速启动敏…

带libc源码gdb动态调试(导入glibc库使得可执行文件动态调试时可看见调用库函数源码)

文章目录 参考部分查看源码是否编译时有-g调试信息和符号表在 gdb 中加载 debug 文件/符号表将 debug 文件放入 ".debug" 文件夹通过 gdb 命令 set debug-file-directory directories GCC的gcc和g区别指定gcc/g,glibc的版本进行编译指定gcc/g的版本指定gl…

bash脚本学习笔记

一、扫盲 脚本文件是一种文本文件,其中包含了一系列的命令和指令,可以被操作系统解释器直接解释执行。脚本文件通常被用来完成特定的任务或执行重复性的操作。 脚本文件通常以某种编程语言的语法编写,例如 Bash、Python、Perl、Ruby 等等。…

Vue Router

Vue Router 一、Vue Router 回顾 1、路由简介 路由是一个比较广义和抽象的概念,路由的本质就是对应关系。 在开发中,路由分为: ​ 后端路由​ 前端路由 后端路由 概念:根据不同的用户 URL 请求,返回不同的内容本…

k8s中调整Pod数量限制的方法

一、介绍 Kubernetes节点每个默认允许最多创建110个pod,有时可能由于主机配置扩容的问题,从而需要修改节点pod运行数量的限制。 即:需要调整Node节点的最大可运行Pod数量。 一般来说,只需要在kubelet启动命令中增加–max-pods参数…

MySQL进阶之锁(全局锁以及备份报错解决)

锁 全局锁 全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语 句,已经更新操作的事务提交语句都将被阻塞。 其典型的使用场景是做全库的逻辑备份,对所有的表进行锁定&#xff…

Java 基于 SpringBoot+Vue 的考研论坛管理系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

在PostgreSQL中不开归档?恭喜你!锅你背定了

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

微信小程序~上推加载更多组件

本组件使用的是TaroReact 实现的 ,具体代码如下 一共分为tsx和less文件 //index.tsx /** RefreshLoading* description 上推加载更多组件* param loading boolean* param style* returns*/import { View } from "tarojs/components"; import React, { FC…

深入解剖指针篇(3)

个人主页(找往期文章) :我要学编程(ಥ_ಥ)-CSDN博客 目录 二级指针 指针数组 指针数组模拟二维数组 字符指针变量 数组指针 数组指针初始化 二维数组传参的本质 函数指针 函数指针的使用 typedef关键字 函数指针数组 二级指针…

U盘文件管理,禁止拷贝文件到U盘的解决办法

在许多企业和组织中,为了防止敏感数据的泄露和保护计算机系统的安全,通常会采取一些措施来限制员工拷贝文件到U盘的行为。然而,有些员工可能会试图绕过这些限制,导致数据安全风险增加。 案例 2015年5月,隶属于某县政府…

【yaml 文件使用】pytest+request 框架中 yaml 配置文件使用

又来进步一点点~~ 背景:最近在学习pytestrequest框架写接口测试自动化,使用yaml文件配置更方便管理用例中的数据,这样更方便 yaml 介绍: 什么是 yaml 文件:YAML 是 “YAML Ain’t a Markup Language”(Y…

Android 系统启动流程

依旧是带着问题再去学习 首先,Android是怎么启动的? Android服务是怎么启动的? Android线程是怎么切换的? Android ApplicationThread是怎么创建的? 那么接下来开始分析Android的启动流程 还是一步一图 先画一张流…

jenkins pipeline配置maven可选参数

1、在Manage Jenkins下的Global Tool Configuration下对应的maven项添加我们要用得到的不同版本的maven安装项 2、pipeline文件内容具体如下 我们maven是单一的,所以我们都是配置单选参数 pipeline {agent anyparameters {gitParameter(name: BRANCH_TAG, type: …

Jenkins手把手图文教程[基于Jenkins 2.164.1]

Jenkins手把手图文教程[基于Jenkins 2.164.1] 本文基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本。 一、下载 前往https://jenkins.io/download/ ,按需下载。如用于生产,建议下载Long-term Support (LTS) 版本&#xf…