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

相关推荐
李兆龙的博客13 小时前
问津集 #26:Lakebase——Postgres 的版本化页面存储、数据库分支与计算弹性
数据库
JeJe同学14 小时前
Docker镜像导入、容器启动
linux·运维·docker
倔强的石头_15 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品
数据库
闲云野鹤在人间15 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
禾小西15 小时前
Redis:从两大维度和三大主线建立知识体系
数据库·redis·缓存
禾小西16 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?
数据结构·数据库·redis
数据库小学妹16 小时前
数据共享交换平台选型:交换方式对比与避坑指南
数据库·信创·数据同步·数据交换平台·政务数据共享·数据共享交换平台·数据库底座
要开心吖ZSH17 小时前
MySQL 慢 SQL 排查操作手册-个人笔记版
java·笔记·sql·mysql·慢查询
loong_XL18 小时前
决策模型做内容安全检测:从踩坑到上线
数据库·安全·jev·决策模型
这个DBA有点耶18 小时前
数据库双轨并行实战:全量并行策略、增量延迟控制、双向回切与一致性校验
数据库·架构·dba