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

宝塔面板的MySQL数据库Docker中的MySQL数据库有以下区别: 1. 部署方式:宝塔面板是一个集成的服务器管理面板,它提供了一键安装和管理MySQL数据库的功能。你可以通过在宝塔面板中选择MySQL数据库,并进行相关配置来快速部署和管理数据库。而Docker是一个容器化平台,你可以使用Docker来创建和管理MySQL容器,通过定义Docker镜像、容器等配置来部署和管理MySQL数据库。 2. 环境隔离:Docker提供了容器化的环境隔离,每个MySQL容器都是独立运行的,具有自己的文件系统、网络等资源,可以避免不同应用之间的相互影响。而宝塔面板中的MySQL数据库是直接安装在服务器上的,与其他应用共享服务器的资源。 3. 灵活性和可移植性:使用Docker部署MySQL数据库可以提供更大的灵活性和可移植性。你可以在不同的环境中使用相同的Docker镜像来快速部署和迁移数据库,而无需关注底层操作系统和服务器配置的差异。而宝塔面板中的MySQL数据库通常是与特定服务器绑定的,迁移需要手动配置和迁移数据库文件。 4. 扩展性:使用Docker可以更容易地扩展MySQL数据库。你可以通过调整Docker容器的配置、添加新的容器等方式来实现负载均衡或高可用性。而宝塔面板中的MySQL数据库通常是以单实例形式运行,如果需要扩展,可能需要手动配置和管理多个实例。 需要注意的是,宝塔面板中的MySQL数据库Docker中的MySQL数据库并不是相互排斥的选择,而是根据具体需求和使用场景选择合适的部署方式。对于简单的应用场景,宝塔面板提供了方便的一键部署和管理;而对于复杂的、需要灵活性和可移植性的场景,使用Docker部署MySQL数据库可能更合适。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个小坑货

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值