docker实践教程,mysql中使用自定义目录实现数据挂载(二)

有一些知识点在docker实践教程,nginx中使用数据卷映射修改前端网页(一),就不累述了。

下载mysql的镜像

docker pull mysql

在这里插入图片描述

创建容器

先去Docker Hub看看mysql是怎么使用的
在这里插入图片描述
可知,运行命令为:(该方式运行创建出的mysql基本上是默认的数据,有可能不符合我们所需)

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

some-mysql:mysql对应容器名称
my-secret-pw:mysql要设置的密码
tag:版本号

默认方式创建的mysql容器

修改一下密码为123456,其他的都保持默认,可以看见创建了一个名称为some-mysql,端口号为3306的mysql容器。
在这里插入图片描述
使用docker inspect some-mysql命令查看some-mysql的具体信息,可以知道当前some-mysql是以数据卷形式,挂载在宿主机框起来的这个路径下的,Name这一串是数据卷名称。
在这里插入图片描述
mysql等某些比较特殊的,容器会自动创建数据卷来挂载数据,这些自动生成的数据卷叫匿名卷,一般是一长串的代码符号。这个时候,mysql对应的数据就挂载在宿主机框起来的这个路径下
在这里插入图片描述
为什么mysql要自动创建一个数据卷将数据挂载在宿主机呢?
因为mysql运行时数据内容会原来越大,不方便数据迁移等操作,出于数据解耦的考虑,将数据挂载在宿主机是非常合理的。
但是如果我们不自己指定mysql数据卷及其的挂载的目录,这个时候生成的匿名卷名称非常的反人类。如果我们需要进行mysql升级,就需要删除原来的MySQL容器,再创建新的容器。对应的原来mysql容器的数据卷目录及其数据是还在的,但是新版本mysql容器自动生成新的的数据卷,新数据卷是没有数据的,相当于数据丢失了。除非你能找到老的数据卷,将内容迁移到新的卷中

自定义容器数据目录、配置文件、初始化脚本、端口号

在执行docker run命令时,使用-v 宿主机目录:容器目录就可以完成宿主机本地目录的挂载。
注意:宿主机目录必须以/./开头,否则就会被识别为数据卷名,而非本地目录
容器中数据目录、配置文件、初始化脚本的目录可以在Docker Hub中找到。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

/root/docker_data/mysql是我宿主机本地建立的文件夹,先删除原来的mysql,建立好我们需要的文件夹
在这里插入图片描述
这个时候先把初始化文件和配置文件放到对应目录中。
注意初始化文件只在mysql容器创建时第一次运行的时候初始化,后面放进去的就不能初始化了。

docker run -d \--name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123456  \-v /root/docker_data/mysql/data:/var/lib/mysql \-v /root/docker_data/mysql/init:/docker-entrypoint-initdb.d \-v /root/docker_data/mysql/conf:/etc/mysql/conf.d \mysql

–name:运行创建的容器名称
-p:映射的端口号(宿主机端口号:容器端口号)
-e:环境变量 ,TZ----设置mysql时区,MYSQL_ROOT_PASSWORD设置密码
-v:文件挂载
在这里插入图片描述
这个时候,就可以看见我们的data中有生成的初始mysql文件数据了
在这里插入图片描述
此时如果我们的mysql容器被删除了,运行创建新容器的时候,只要挂载的文件还是我们自定义的这个文件,数据就不会丢失,不需要其他的迁移操作等

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

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

相关文章

SpringCloud之网关组件Gateway学习

SpringCloud之网关组件Gateway学习 GateWay简介 Spring Cloud Gateway是Spring Cloud的⼀个全新项目,目标是取代Netflix Zuul,它基于Spring5.0SpringBoot2.0WebFlux(基于高性能的Reactor模式响应式通信框架Netty,异步⾮阻塞模型…

2024 用CleanMyMac X为您的MAC清理提速吧

CleanMyMac X 是由 MacPaw 公司开发的一款针对 macOS 操作系统的电脑清理工具。它可以帮助用户清理电脑中的垃圾文件、卸载不需要的软件、优化电脑性能等。它的界面简洁明了,操作简单易懂,非常适合普通用户使用。 链接: https://pan.baidu.com/s/1_TFnrI…

【技巧】ChatGPT Prompt 提示语大全

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 主要来自:https://github.com/f/awesome-chatgpt-prompts ChatGPT SEO提示 Contributed by: StoryChief AI Reference: 7 Powerful ChatGPT Prompts to Create SEO Content Faster 供稿人:…

Linux安装Nginx及配置TCP负载均衡

目录 1、安装编译工具及库文件2、下载解压Nginx压缩包3、Ngnix配置Tcp负载均衡4、配置Ngnix的文件5、Nginx启动 1、安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel pcre-devel2、下载解压Nginx压缩包 wget https://nginx.o…

【创作纪念日】1024回忆录

不知不觉中,从创作第一篇文章到现在,已经1024天了,两年多的时间里,已经从硕士到博士了,1024,对于程序员来说,是个特别的数字吧,在此回忆与记录一下这些美好的经历吧。 缘起 很早以前…

MySQL面试题--开发(最全,涵盖SQL基础、架构、事务)

MySQL面试题--事务https://mp.csdn.net/mp_blog/creation/editor/136947072 MySQL面试题--MySQL内部技术架构https://blog.csdn.net/Timebro/article/details/136946046?spm1001.2014.3001.5501 MySQL面试题--最全面-索引https://blog.csdn.net/Timebro/article/details/136…

列车票务信息管理系统设计与实现|jsp+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW调试部署环境,文末可获取本项目的所有资料。 推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java…

kali安装docker(亲测有效)

第一步:添加Docker官方的GPG密钥 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - 第二步: 第二步更新源 echo deb https://download.docker.com/linux/debian stretch stable> /etc/apt/sources.list.d/docker.list…

鸿蒙Harmony应用开发—ArkTS-枚举说明

说明: 本模块首批接口从API version 7开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。 Color 从API version 9开始,该接口支持在ArkTS卡片中使用。 颜色名称颜色值颜色示意Black0x000000 Blue0x0000ff Brown…

C#中右键通过listview来控制datagridview字段值的是否显示、显示顺序,并存储到XML中。

最终显示效果,如下图所示: datagridview开始显示通过调用XML存储的字段值及顺序来显示,右键调出Tools来控制显示的顺序及是否显示,通过加号和减号进行调整顺序。 XML存储字段值及顺序 主要代码及事件: 获取datagridv…

ARM CPU的总线发展

ARM架构是当今世界上最为广泛应用的嵌入式处理器架构之一,其CPU总线的发展对于系统性能和扩展性具有重要影响。本文将探讨ARM CPU总线的发展历程、关键技术和对系统性能的影响。 以下是我整理的关于嵌入式开发的一些入门级资料,免费分享给大家&#xff…

Orbit 使用指南 10|在机器人上安装传感器 | Isaac Sim | Omniverse

如是我闻: 资产类(asset classes)允许我们创建和模拟机器人,而传感器 (sensors) 则帮助我们获取关于环境的信息,获取不同的本体感知和外界感知信息。例如,摄像头传感器可用于获取环境的视觉信息&#xff0c…

Spring中的OAuth2

一. 什么是OAuth2 “Auth” 表示 “授权” Authorization “O” 是 Open 的简称,表示 “开放” 连在一起就表示 “开放授权”,OAuth2是一种开放授权协议。 二. OAuth2是什么 怎么用 OAuth2是目前最流行的授权协议,用来授权第三方应用&am…

基于霍夫检测(hough变换)的人眼瞳孔定位,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

git 上传文件夹至远端仓库的方法

上传的远端git可以是gitlab、github、gitee、gitblit或者gitCode等等 以下以GitHub为例说明: 1、登录GitHub网站(账户/密码) 2、创建一个新的空白项目(或者已有的项目)hello-world 分支是master ,这里默认即…

[MAUI]集成高德地图组件至.NET MAUI Blazor项目

文章目录 前期准备:注册高德开发者并创建 key登录控制台创建 key获取 key 和密钥 创建项目创建JS API Loader配置权限创建定义创建模型创建地图组件创建交互逻辑 项目地址 地图组件在手机App中常用地理相关业务,如查看线下门店,设置导航&…

深入理解Redis的Sentinel机制

Sentinel简述 Sentinel为了解决什么问题? Sentinel(哨岗、哨兵)是Redis的高可用性(high availability)解决方案。 我们知道Redis 的主从复制模式可以将主节点的数据改变同步给从节点,这样从节点就可以起…

有什么可以下载网页视频的浏览器插件 浏览器如何下载网页视频 网页视频怎么下载到本地 网页视频下载软件 IDM下载

在视频网站上看电影追剧,已经成为了大众生活中必不可少的一部分。为了保护自家视频的版权,很多平台都禁止用户下载会员视频。其实只要掌握了正确的方法,一样可以将会员视频下载到本地保存。那么有关有什么可以下载网页视频的浏览器&#xff0…

windows安装ssh

一、下载ssh https://github.com/PowerShell/Win32-OpenSSH/releases/download/v8.1.0.0p1-Beta/OpenSSH-Win64.zip 二、安装ssh 解压到C:\Program Files\OpenSSH-Win64 配置环境变量 把 C:\Program Files\OpenSSH-Win64 加到path环境变量里面 C:\Program Files\OpenSSH-Win64&…

C语言经典算法-9

文章目录 其他经典例题跳转链接46.稀疏矩阵47.多维矩阵转一维矩阵48.上三角、下三角、对称矩阵49.奇数魔方阵50.4N 魔方阵51.2(2N1) 魔方阵 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. 三色棋 5. 老鼠走迷官(一)6.…