docker搭建部署mysql并挂载指定目录

news2024/11/20 10:32:09

Docker是一种轻量级、可移植的容器化平台,可以简化应用程序的部署和管理。在本文中,我们将探讨如何使用Docker来搭建和部署MySQL数据库,并将数据和配置文件挂载到外部目录,以实现数据持久化和方便的配置管理。

1: 安装Docker

首先,确保你的系统上已经安装了Docker。你可以根据官方文档安装适用于你系统的Docker版本

2、拉取mysql镜像

docker search mysql  查询镜像  可省略这一步

docker pull mysql    拉取镜像,不带版本默认拉取最新版本  指定版本如docker pull ubuntu/mysql

在这里插入图片描述

3、创建待挂载文件

在这里插入图片描述

4、创建MySQL容器

docker run  --restart=always --privileged=true -p 3306:3306 --name mysql -v /usr/mysqldata/log:/var/log/mysql -v /usr/mysqldata/data:/var/lib/mysql -v /usr/mysqldata/conf:/etc/mysql  -v /usr/mysqldata/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=20240110 -d mysql

命令解释

docker run: 运行Docker容器的命令。

--restart=always: 指定容器在退出时总是重新启动。这意味着,无论容器是正常退出还是异常退出,Docker将自动重新启动这个容器。

--privileged=true: 赋予容器特权,允许它在主机上执行一些敏感操作,这通常是出于一些特殊需求的考虑,但需要注意潜在的安全风险。

-p 3306:3306: 将主机的端口3306映射到容器的端口3306,这样外部系统可以通过主机的3306端口访问MySQL服务。

--name mysql: 为容器指定一个名称,这里是"mysql"-v /usr/mysqldata/log:/var/log/mysql: 将主机上的/usr/mysqldata/log目录映射到容器内的/var/log/mysql目录,用于存储MySQL的日志文件。

-v /usr/mysqldata/data:/var/lib/mysql: 将主机上的/usr/mysqldata/data目录映射到容器内的/var/lib/mysql目录,用于存储MySQL的数据文件。

-v /usr/mysqldata/conf:/etc/mysql: 将主机上的/usr/mysqldata/conf目录映射到容器内的/etc/mysql目录,用于存储MySQL的配置文件。

-v /usr/mysqldata/my.cnf:/etc/mysql/my.cnf: 将主机上的/usr/mysqldata/my.cnf文件映射到容器内的/etc/mysql/my.cnf文件,这是MySQL的配置文件。

-e MYSQL_ROOT_PASSWORD=20240110: 设置MySQL的root用户密码为"20240110"-d mysql: 以后台(detached)模式运行MySQL容器。

挂载外部目录的理由:

  • 数据持久性和灵活性。
  • 容器中MySQL数据的易备份和恢复。

如当容器宕机或者不小心移除,可重新起一个容器并挂载之前的文件,之前的数据依然存在。

5、验证MySQL容器(查看容器情况)

docker ps -a

-a 选项表示显示所有容器,包括已经停止运行的容器。
这个命令会列出所有的Docker容器,包括正在运行的和已经停止的。对于每个容器,你将看到容器的ID、名称、创建时间、状态、端口映射等信息。

docker ps

这个命令默认只显示正在运行的容器。
类似于docker ps -a,但只列出正在运行的容器,而不包括已经停止的容器。

在这里插入图片描述
因为我是之前就搭建好的,这里可以看到status已经运行六个月了

然后就可以使用navicat进行连接啦
在这里插入图片描述
点击测试连接显示成功就可以在项目中使用了

docker拉镜像、创建容器、停止容器、移除容器、构建镜像
docker搭建rabbitmq
docker部署showdoc详细步骤
在docker中搭建部署clickhouse
docker搭建mongodb并挂载外部文件
docker搭建部署minio 存储文件

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

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

相关文章

git撤销提交到本地的commit

有些时候,当我们提交代码到本地后,突然发现因为某些原因需要撤销提交本地的代码。 就比如我,因为代码写错了分支,已经提交到本地了,而我需要取消,并且还要把代码搞得另外的分支上。 提交前: …

MIB 变更周期

MIB 始终以 80 ms 的周期在 BCH 上传输并在 80 ms 内重复,并且它包括从小区获取 SIB1 所需的参数;如果 SSB 的周期大于 80 ms,则 MIB 的发送周期与 SSB 的周期相同。 在UE初始搜索时,SSB在半帧内的周期是20ms;所以对于…

Embedded-Project项目介绍

Embedded-Project项目介绍 Server后端项目后端启动连接数据库启动时可能遇到的问题架构介绍 web前端项目前端启动启动时可能遇到的问题架构介绍 前后端分离开发流程 项目地址: https://github.com/Catxiaobai/Embedded-Project Server后端项目 系统后端项目&#…

锂电池制造设备中分布式IO模块优势

在“碳达峰、碳中和”目标推动下,新能源汽车当下发展势头正盛,而纯电动车的核心部件则是:锂电池。动力型锂电池作为新能源汽车核心零部件,其发展与新能源汽车行业息息相关,迎来广阔的市场空间。 为何采用I/O模块&#…

网络安全B模块(笔记详解)- 漏洞扫描与利用

漏洞扫描与利用 1.通过Kali对服务器场景server2003以半开放式不进行ping的扫描方式并配合a,要求扫描信息输出格式为xml文件格式,从生成扫描结果获取局域网(例如172.16.101.0/24)中存活靶机,以xml格式向指定文件输出信息(使用工具Nmap,使用必须要使用的参数),并将该操…

信息系统安全——基于 AFL 的模糊测试

实验 3 基于 AFL 的模糊测试 3.1 实验名称 《基于 AFL 的模糊测试》 3.2 实验目 1 、熟悉模糊测试方法 2 、熟悉模糊测试工具 AFL 的使用 3.3 实验步骤及内容 1 、 安装 AFL 2 、 任意选择一个有源代码的样本 这里采用教材上一个包含栈溢出漏洞的样本。 3 、 结合源代码分析用 …

Yolov5双目测距-双目相机计数及测距教程(含代码)

Yolov5双目测距是一种基于深度学习模型的双目相机计数及测距方法,它可以用于在不同场景下进行物体检测、识别和测距。 以下是 Yolov5双目测距的主要特点和步骤: 1. 双目相机: Yolov5双目测距需要使用一对双目相机来获取场景中的图像数据。…

vercel部署twikoo后评论收不到通知邮件问题解决方法

📌 前言:本文主要是总结一下在vercel部署twikoo后收不到评论邮件通知问题的解决方法,本人在各种查资料无果后最终去twioo的git官方项目的issue中找到某位大佬给出的原因以及解决方案,故做此记录,希望对遇到此问题的同学…

74应急响应-winlinux分析后门勒索病毒攻击

#操作系统(windows,linux)应急响应: 1.常见危害:暴力破解,漏洞利用,流量攻击,木马控制(Webshell,PC 木马等),病毒感染(挖矿,蠕虫,勒索等)。 2.常见分析:计算机账户&…

Navicat 16 for MySQL:打造高效数据库开发管理工具

随着数据的快速增长和复杂性的提升,数据库成为了现代应用开发中不可或缺的一部分。而在MySQL数据库领域,Navicat 16 for MySQL作为一款强大的数据库开发管理工具,正受到越来越多开发者的青睐。 Navicat 16 for MySQL拥有丰富的功能和直观的界…

D55XT80-ASEMI配电箱整流桥D55XT80

编辑:ll D55XT80-ASEMI配电箱整流桥D55XT80 型号:D55XT80 品牌:ASEMI 封装:DXT-4 特性:插件、整流桥 平均正向整流电流(Id):55A 最大反向击穿电压(VRM&#xff09…

nginx(1.13.7)首次安装出现:【make: *** 没有规则可以创建“default”需要的目标“build” 问题】解决措施

目录 前言: 一.龙蜥(Anolis)操作系统上安装GCC 1.安装gcc 2.检验安装 二.安装出现 make: *** 没有规则可以创建“default”需要的目标“build” 问题 1.解压安装nginx 2.安装出现问题展示 3.解决措施 4.重新编译进行安装 5…

2024 年 API 管理新趋势预测

本文译自:What Will Be the API Management Trends for 2024? 原文链接:What Will Be the API Management Trends for 2024? - The New Stack 原文作者:Kenn Hussey 预计到 2030 年末,API 管理 市场的规模将增长六倍&…

理论U3 决策树

文章目录 一、决策树算法1、基本思想2、构成1)节点3)有向边/分支 3、分类步骤1)第1步-决策树生成/学习、训练2)第2步-分类/测试 4、算法关键 二、信息论基础1、概念2、信息量3、信息熵: 二、ID3 (Iterative Dichotomis…

基于JavaWeb+BS架构+SpringBoot+Vue+Spark的共享单车数据存储系统的设计和实现

基于JavaWebBS架构SpringBootVueSpark的共享单车数据存储系统的设计和实现 文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 文末获取源码 Lun文目录 第一章 概述 2 1.1课题研究背景 2 1.2 课题研究意义 2 1.3国内…

wy的leetcode刷题记录_Day74

wy的leetcode刷题记录_Day74 声明 本文章的所有题目信息都来源于leetcode 如有侵权请联系我删掉! 时间:2024-01-10 前言 目录 wy的leetcode刷题记录_Day74声明前言2696. 删除子串后的字符串最小长度题目介绍思路代码收获 64. 最小路径和题目介绍思路代码收获 63.…

DataFrame详解

清洗相关的API 清洗相关的API: 1.去重API: dropDupilcates 2.删除缺失值API: dropna 3.替换缺失值API: fillna 去重API: dropDupilcates dropDuplicates(subset):删除重复数据 1.用来删除重复数据,如果没有指定参数subset,比对行中所有字段内容,如果全部相同,则认为是重复数据,…

Maven报错:Malformed \uxxxx encoding 解决办法

maven构建出现这个Malformed \uxxxx encoding问题,应该是maven仓库里面有脏东西进入了! 解决: 将仓库中的resolver-status.properties文件全部干掉。 我使用的everything工具全局搜索resolver-status.properties文件,然后Ctrla,再…

Go语言学习笔记(二)

Go语言的学习资源 以下是一些推荐的Go语言学习资源的链接: Go语言教程:https://golang.org/doc/Go by Example:Go by ExampleGolang Tutorials:https://golangtutorials.com/Go语言第一课(慕课网)&#x…

df -h的值详细介绍

正文: 在 Linux 系统中,了解不同类型的文件系统及其作用是非常重要的。这不仅有助于系统管理,还可以在进行数据存储和优化时做出明智的决策。以下是一个常见的 Linux 文件系统配置的概述,包括每个文件系统的作用和重要性。 操作图片: dev…