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

news2024/9/26 3:29:51

有一些知识点在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,建立好我们需要的文件夹
在这里插入图片描述
这个时候先把初始化文件和配置文件放到对应目录中。
注意初始化文件只在文件运行的第一次初始化。

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.coloradmin.cn/o/1533615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue-admin-template极简的 vue admin 管理后台的动态路由实现方法

项目源码地址:GitHub - PanJiaChen/vue-admin-template: a vue2.0 minimal admin template 注意:项目中的路由均写在 src\router\index.js 中,其中默认包含 constantRoutes 数组,这是固定路由,无论用户是什么角色&…

数据结构从入门到精通——冒泡排序

冒泡排序 前言一、冒泡排序的基本思想二、冒泡排序的特性总结三、冒泡排序的动画演示四、冒泡排序的具体代码test.c 前言 冒泡排序是一种简单的排序算法,通过重复遍历待排序数列,比较相邻元素的大小并交换位置,使得每一轮遍历后最大&#xf…

ubuntu内存不足,用Swap扩展增加虚拟内存

Linux增大Swap分区,可以增加虚拟内存,以解决电脑卡机,内存不足等问题 top可以查看cpu的使用情况 lscpu可以查看本机配置的cpu硬件情况 查看内存使用情况 free -h (下面显示"交换"或者Swap等字样说明系统已经启动了Swap&#xff…

EMC Unity存储系统(包含VNXe)常用检查命令

DELL EMC的Unity存储系统,包括VNXe存储系统的OS已经完全和Clariion 的VNX不同了,近期遇到很多关于EMC unity存储系统故障的一些初步检查需求,下面是一些对于DELL EMC Unity存储系统的最常用的底层检查命令,可以对系统故障有个初步…

深度学习——线性代数相关知识

线性代数基础知识 一、线性代数基础知识1、标量2、向量3、矩阵4、张量5、点积6、向量—矩阵积7、矩阵—矩阵乘法 二、小结 一、线性代数基础知识 本节将介绍简要地回顾一下部分基本线性代数内容,线性代数中的基本数学对象、算术和运算,并用数学符号和相…

Linux编程4.11 网络编程-广播

广播实现一对多的通讯 它通过向广播地址发送数据报文实现的 1、套接字选项 套接字选项用于修饰套接字以及其底层通讯协议的各种行为。函数setsockopt和getsockopt可以查看和设置套接字的各种选项。 #include <sys/types.h> #include <sys/socket.h>int getso…

申请免费IP地址证书

目录 IP申请SSL证书需要满足什么条件呢&#xff1f; 为什么需要申请IP地址证书&#xff1f; 支持IP地址SSL证书类型 DV级别IP SSL证书和OV级别IP SSL证书的区别 申请公网IP地址证书有免费的吗&#xff1f; 背景&#xff1a;当用户直接通过IP地址而非域名访问网站时&#xf…

后端如何返回404地址

当我们网站输入不存在的地址&#xff0c;经常会出现404的页面&#xff0c;这是如何做到的 1.添加配置 spring:mvc:view:prefix: /templates/suffix: .html 2.resources下添加templates目录&#xff0c;下面放404的网站 3.添加依赖&#xff0c;版本在主pom里面配置好了&#x…

霍格沃兹测试开发从人员外包到测试工具、测试平台,提供全方位的测试解决方案~

随着学社的学员越来越多&#xff0c;影响力越来越大&#xff0c;不停有学员和企业问我们&#xff1a;能否提供人员外包服务&#xff1f;与此同时&#xff0c;企业对于外包人员的业务技能要求也越来越高&#xff0c;寻找一个稳定靠谱的供应商也成了很多学员所在公司的需求。对此…

web前端常用标签(html)

1.定义 1.1标签 语法规范&#xff1a;<标签名 属性名"属性值">标签名</标签名> 标签之间可以嵌套 1.2属性 定制元素的行为的。属性是不通用的&#xff0c;每一个标签存在自身的属性。当属性名属性值时&#xff0c;可以只写属性值 2.HTML常用标签 2…

【人工智能Ⅱ】实验2:VGG图像分类

实验2&#xff1a;VGG图像分类 一&#xff1a;实验目的与要求 1&#xff1a;掌握VGG网络的原理与结构。 2&#xff1a;学会利用VGG网络建立训练模型&#xff0c;并对模型进行评估。 3&#xff1a;学会使用VGG网络进行分类。 二&#xff1a;实验内容 1&#xff1a;用VGG网络…

扩展欧拉定理

为了求a^bmodm的余数,我们可以利用扩展欧拉定理给出的同余方程,转化成一个好求的式子,首先我们要能够解出欧拉函数.欧拉函数讲解可以看看这篇欧拉函数最全总结-CSDN博客(原理我不懂,只会用) 下面给出代码 using i64 long long; int phi(int n) {int res n;for (int i 2; i…

【C语言】内存管理内存管理函数文件管理文件管理函数

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;C语言_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.C/C程序的内存开辟 2.内存相关的函数 2.1 memcpy 2.1.1 memcpy函数的使用 2.1.2 memcpy函数的模拟实现 2.2 memmove 2.2.2 me…

四阶Runge-Kutta方法求解高阶微分方程

一、经典的Runge-Kutta方法&#xff08;四级四阶RK方法&#xff09; Runge-Kutta法&#xff08;简写为RK方法&#xff09;既可达到较高精度&#xff0c;又可避免高阶导数计算。 对微分方程,在区间上的四阶Runge-Kutta方法的公式如下&#xff1a; 二、利用4阶Runge-Kutta方法计…

Elasticsearch - Docker安装Elasticsearch8.12.2

前言 最近在学习 ES&#xff0c;所以需要在服务器上装一个单节点的 ES 服务器环境&#xff1a;centos 7.9 安装 下载镜像 目前最新版本是 8.12.2 docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2创建配置 新增配置文件 elasticsearch.yml http.host…

.locked勒索病毒是什么,企业数据被加密了如何恢复?

.locked勒索病毒介绍 .locked勒索病毒是一种恶意软件&#xff0c;它利用加密技术锁定用户的数据或系统&#xff0c;并以此进行勒索。用户一旦感染此病毒&#xff0c;将无法访问其重要文件&#xff0c;病毒会要求用户支付一笔赎金以获取解密密钥。这种病毒通常使用强大的加密算法…

为什么选VR全景技术进行乡村展示,VR全景技术助力乡村振兴

引言&#xff1a; 在科技飞速发展的当下&#xff0c;乡村振兴成为国家重要战略&#xff0c;如何创新性地展示乡村特色&#xff0c;提升乡村吸引力&#xff0c;成为当务之急。VR全景技术&#xff0c;作为一种新兴的展示手段&#xff0c;可以为乡村展示提供全新的视角&#xff0…

可观测性体系建设后,该如何挖掘数据及工具价值?

在现代企业的运维管理中&#xff0c;构建高效且可靠的可观测性体系是保障系统稳定性和业务连续性的关键。然而&#xff0c;运维团队成员的技术能力参差不齐往往成为实现这一目标的障碍。尤其在处理复杂系统故障时&#xff0c;高度依赖专业知识和经验的可观测性工具很难被全员有…

如何在Linux Ubuntu系统安装Nginx服务并实现无公网IP远程连接

文章目录 1. 安装Docker2. 使用Docker拉取Nginx镜像3. 创建并启动Nginx容器4. 本地连接测试5. 公网远程访问本地Nginx5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定公网地址远程访问 在开发人员的工作中&#xff0c;公网远程访问内网是其必备的技术需求之一。对于…

vue key的bug

今天遇到一个bug&#xff0c;列表删除元素时&#xff0c;明明在外层设置了key&#xff0c;但是列表元素的状态居然复用了&#xff0c;找了好久原因&#xff0c;最后是key的取值问题&#xff0c;记录一下。 首先key可以取undefine&#xff0c;这个是不会报错的 然后项目的代码结…