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

Docker 部署 MySQL 数据库

Docker 部署 MySQL 数据库

  • 基于 Docker 部署 MySQL 数据库
    • 一、拉取 MySQL 镜像
    • 二、运行 MySQL 容器
    • 三、运行命令参数详解
    • 四、查看容器运行状态

基于 Docker 部署 MySQL 数据库

一、拉取 MySQL 镜像

在开始之前,请确保你的 Docker 环境已经正确安装并可以正常运行。打开终端,执行以下命令来拉取 MySQL 镜像:

docker pull mysql:latest

这条命令会从 Docker Hub 下载最新版本的 MySQL 镜像,下载时间取决于你的网络速度。

二、运行 MySQL 容器

使用以下命令来运行 MySQL 容器:

docker run --name [容器名称] -e MYSQL_ROOT_PASSWORD=[管理员密码] -p [宿主机端口]:3306 -v [宿主机目录]:/var/lib/mysql --memory="[内存限制]" --cpuset-cpus="[CPU 核心]" -d mysql:latest

例如:

docker run --name my_mysql -e MYSQL_ROOT_PASSWORD="your_password_placeholder" -p 3306:3306 -v ~/data/mysql/data:/var/lib/mysql --memory="2gb" --cpuset-cpus="0" -d mysql:latest

三、运行命令参数详解

  1. –name :自定义容器的名称,便于后续管理和识别。示例中的容器名称为 “my_mysql”。
  2. -e MYSQL_ROOT_PASSWORD :设置 MySQL 的 root 用户密码,示例中设置为 “your_password_placeholder”,实际使用时请替换为你的密码。
  3. -p :将宿主机端口映射到容器内的 MySQL 默认端口(3306)。示例中将宿主机的 3306 端口映射到容器内部的 3306 端口,便于访问容器内的 MySQL 服务。
  4. -v :将宿主机目录挂载到容器内部目录,用于数据持久化。例如,将宿主机的 “~/data/mysql/data” 目录挂载到容器内的 “/var/lib/mysql” 目录,确保数据在容器重建后不会丢失。
  5. –memory :限制容器可使用的内存大小。示例中设置为 “2gb”,即容器最多可使用 2GB 内存。
  6. –cpuset-cpus :指定容器可以使用的 CPU 核心。示例中的 “0” 表示容器只能使用宿主机的第 0 号 CPU 核心。
  7. -d :以后台模式运行 MySQL 容器,使容器在后台持续运行,不影响终端使用。
  8. mysql:latest :指定使用的 MySQL 镜像版本,这里使用最新版本。

四、查看容器运行状态

要查看当前正在运行的容器及其状态,可以使用以下命令:

docker ps

这条命令会列出所有正在运行的容器的相关信息,包括容器 ID、名称、镜像、端口映射等。如果想查看所有容器(包括已停止的),可以使用:

docker ps -a

若需要更详细的容器信息,如资源使用情况、网络配置等,可以使用:

docker inspect [容器名称或 ID]

例如:

docker inspect my_mysql

以上就是在 Docker 中部署 MySQL 数据库的详细步骤,按照这些步骤操作,你可以快速搭建并运行一个 MySQL 数据库环境,满足本地开发和测试的需求。

相关文章:

  • LeetCode 第 262 题全解析:从 SQL 到 Swift 的数据分析实战
  • 正向代理和反向代理
  • 【VS Code】打开远程服务器Docker项目或文件夹
  • FramePack V2版 - 支持首尾帧生成,支持LoRA,支持批量,支持50系显卡,一个强大的AI视频生成软件 本地一键整合包下载
  • 一款强大的实时协作Markdown工具 | CodiMD 9.6K ⭐
  • 小小矩阵设计
  • C++学习之类与对象
  • 一款丰富的工作流自动化平台 | N8N 83.6K ⭐
  • C++23 中 static_assert 和 if constexpr 的窄化布尔转换
  • 【锂电池剩余寿命预测】BiLSTM双向长短期记忆神经网络锂电池剩余寿命预测(Matlab源码)
  • Python基于语音识别的智能垃圾分类系统【附源码、文档说明】
  • 前端之勇闯DOM关
  • Nginx常用命令,及常见错误
  • PR网表出现assign该如何解决
  • 音视频小白系统入门课-3
  • 第十五讲、Isaaclab中在机器人上添加传感器
  • # 利用迁移学习优化食物分类模型:基于ResNet18的实践
  • 【Java面试笔记:基础】6.动态代理是基于什么原理?
  • pip的源管理和包管理
  • 黑马点评之Feed流技术实现关注推送与滚动分页查询
  • 临汾攻坚PM2.5:一座曾经“爆表”城市的空气治理探索
  • 中国牵头制定,在线旅游机构和展览与活动领域ISO国际标准发布
  • 灰鹦鹉爆粗口三年未改?云南野生动物园:在持续引导
  • 京东美团商战,能惠及骑手吗?
  • 夜读丨秦腔里的乡魂
  • 都市文化·商业演剧·海派艺术:早期上海话剧商演发展新探索