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 数据库环境,满足本地开发和测试的需求。

相关推荐
Raymond运维1 小时前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉1 小时前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql
RestCloud16 小时前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud16 小时前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence19 小时前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
Java水解20 小时前
Mysql查看执行计划、explain关键字详解(超详细)
后端·mysql
知其然亦知其所以然1 天前
MySQL 社招必考题:如何优化查询过程中的数据访问?
后端·mysql·面试
DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
程序新视界1 天前
如何在MySQL中创建聚集索引?
mysql
AAA修煤气灶刘哥2 天前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql