Docker 部署 MySQL 数据库

Docker 部署 MySQL 数据库

基于 Docker 部署 MySQL 数据库

一、拉取 MySQL 镜像

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

bash 复制代码
docker pull mysql:latest

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

二、运行 MySQL 容器

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

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

例如:

bash 复制代码
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 镜像版本,这里使用最新版本。

四、查看容器运行状态

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

bash 复制代码
docker ps

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

bash 复制代码
docker ps -a

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

bash 复制代码
docker inspect [容器名称或 ID]

例如:

bash 复制代码
docker inspect my_mysql

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

相关推荐
Lear15 分钟前
Redis 持久化机制
数据库
儒道易行27 分钟前
【攻防实战】Redis未授权RCE联动metasploit打穿三层内网(上)
数据库·redis·网络安全·缓存
爱考证的小刘43 分钟前
MySQL OCP认证、Oracle OCP认证
mysql·oracle·oracle数据库·oracle认证·mysql自学·mysql题库·oracle学习
小宁爱Python1 小时前
从零搭建 RAG 智能问答系统 6:Text2SQL 与工作流实现数据库查询
数据库·人工智能·python·django
yjsstar1 小时前
数据库MySQL基础
数据库·mysql
云边有个稻草人1 小时前
KingbaseES数据库性能调优指南:从理论到实践的全链路解析
数据库·金仓数据库
nianniannnn1 小时前
Qt布局管理停靠窗口QDockWidget类
开发语言·数据库·c++·qt·qt5·qt6.3
TDengine (老段)1 小时前
TDengine 配置参数作用范围对比
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
不开心就吐槽1 小时前
docker-compose方式快速安装MySQL
运维·docker·容器
芥子沫2 小时前
Docker安装思源笔记&使用指南
笔记·docker·容器·思源笔记