当前位置: 首页 > news >正文

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

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.lryc.cn/news/280050.html

相关文章:

  • 即将推出的 OpenWrt One/AP-24.XY:OpenWrt 和 Banana Pi 合作路由器板
  • 【uniapp-小程序-分享图5/4】
  • 【响应式编程】前置知识和相关技术的总结
  • K8S--安装MySQL8(单机)
  • CMake+QT+大漠插件的桌面应用开发
  • OpenCV-24双边滤波
  • AI智能分析网关V4:太阳能+4G智慧水库远程可视化智能监管方案
  • 第8章-第8节-Java中的文件类File的简单介绍
  • CTF-PWN-沙箱逃脱-【seccomp和prtcl-2】
  • 【Docker篇】使用Docker操作镜像
  • css宽度适应内容
  • 粒子物理和原子核物理的理论在模拟和分析电路中的粒子束和辐射效应中的应用
  • Opentsdb官方优化文档 - 翻译
  • JavaScript深拷贝与浅拷贝的全面解析
  • ESU毅速丨制造企业需不需要建设增材制造中心?
  • Linux shell编程学习笔记39:df命令
  • 简单高效 LaTeX 科学排版 第004集 命令与环境
  • 初识XSS漏洞
  • 白嫖aws创建Joplin server服务器
  • metartc5_jz源码阅读-p2p通过stun服务器进行通信
  • 总结:Java程序员读书清单顺序
  • ubuntu通过virtualbox安装win虚拟机
  • 云流量回溯的工作原理及关键功能
  • DCP文件传输的重要性与应用
  • JAVA面试部分——后端-线程后篇
  • C语言辨析——深入理解字符常量与表达式
  • Springboot + websocket 实现 一对一 单人聊天
  • GEE机器学习——利用最短距离方法进行土地分类和精度评定
  • 数据结构时间复杂度与空间复杂度
  • 【计算机网络】内容整理