如何在Docker中运行MySQL容器?

news/2025/2/10 16:58:47/

随着容器化技术的普及,Docker已成为开发和部署应用的首选工具之一。MySQL作为最流行的开源关系型数据库,也非常适合在Docker容器中运行。本文将介绍如何在Docker中运行MySQL容器,帮助你快速搭建一个可用的数据库环境。

1. 安装Docker

首先,确保你已经安装了Docker。如果尚未安装,可以访问Docker官网下载并安装适合你操作系统的Docker版本。安装完成后,通过运行以下命令检查是否成功安装:

docker --version

如果命令返回了Docker的版本信息,说明安装成功。

2. 拉取MySQL镜像

Docker使用镜像来创建容器。在Docker中,MySQL的官方镜像是由mysql提供的。你可以通过以下命令从Docker Hub拉取最新版本的MySQL镜像:

docker pull mysql:latest

如果你有特定的版本需求,可以将latest替换为其他版本号,例如mysql:5.7

3. 运行MySQL容器

拉取镜像后,接下来你可以运行MySQL容器。以下命令会创建并启动一个MySQL容器

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest

解释:

  • --name mysql-container:为容器指定一个名字,这里我们叫它mysql-container
  • -e MYSQL_ROOT_PASSWORD=my-secret-pw:设置MySQL的根密码为my-secret-pw,你可以根据需要自定义密码。
  • -d:让容器在后台运行。
  • mysql:latest:指定使用刚刚拉取的MySQL镜像。

如果容器启动成功,你可以通过以下命令查看运行中的容器

docker ps

4. 连接MySQL容器

一旦MySQL容器启动,你可以通过docker exec命令连接到容器中的MySQL服务:

docker exec -it mysql-container mysql -uroot -p

执行命令后,系统会要求你输入之前设置的根密码(例如my-secret-pw)。输入正确密码后,你就成功登录到MySQL数据库。

5. 配置MySQL数据持久化

默认情况下,容器的数据存储在容器内,容器停止或删除后,数据会丢失。为了避免数据丢失,你可以将MySQL的数据目录挂载到主机上。以下命令展示了如何在运行容器时配置数据持久化:

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=my-secret-pw -v /my/custom:/var/lib/mysql -d mysql:latest

这里,-v /my/custom:/var/lib/mysql表示将主机上的/my/custom目录挂载到容器的MySQL数据存储目录/var/lib/mysql,确保数据的持久性。

6. 管理MySQL容器

你可以使用docker exec命令访问正在运行的容器,执行MySQL的各种管理任务。比如创建新的数据库或用户:

docker exec -it mysql-container mysql -uroot -p -e "CREATE DATABASE my_database;"

这样你就可以创建一个名为my_database的数据库。更多的管理操作可以参考MySQL官方文档。

7. 监控MySQL容器

在日常开发中,监控MySQL容器的健康状况和性能也非常重要。你可以使用docker stats命令查看容器的实时性能数据,例如CPU和内存使用情况:

docker stats mysql-container

8. 在Chrome中查看MySQL数据

虽然Docker容器内的MySQL默认没有图形化界面,但你可以通过一些图形化工具访问MySQL数据。比如,你可以使用phpMyAdmin,结合Docker运行phpMyAdmin容器,再通过浏览器访问它。通过以下命令运行phpMyAdmin:

docker run --name phpmyadmin --link mysql-container:db -p 8080:80 -d phpmyadmin/phpmyadmin

然后,你可以在Chrome浏览器中访问http://localhost:8080,并使用MySQL的根密码登录到phpMyAdmin界面。这样就可以通过网页界面管理和查看MySQL中的数据了。

9. 总结

通过Docker容器运行MySQL可以大大简化数据库的部署和管理,尤其适用于开发和测试环境。通过正确配置数据持久化和管理工具,你可以确保数据的安全性和方便性。在Chrome浏览器中查看数据库数据,使得操作更加直观和便捷。

无论是个人项目还是团队协作,Docker中的MySQL容器都能为你提供一个灵活、高效的数据库解决方案。


http://www.ppmy.cn/news/1570917.html

相关文章

Proser:分隔符可以变颜色了

本着分隔符功能中关于颜色的设计原则: 打算做个简单的自定义控件,提供几个有限的颜色选择一下即可, 大多数用户,不会在这里浪费太多的心思。 新增了几个简单的自绘控件,出来后整体界面如下图: PS: 回想多年…

开源项目与工具:探索C++中的Boost库及其在网络编程中的应用

在C++的广阔生态系统中,Boost库无疑是一颗璀璨的明珠。作为一个功能强大、广泛使用的C++开源库集合,Boost为开发者提供了丰富的工具和数据结构,极大地提升了开发效率和代码质量。本文将聚焦于Boost库在网络编程领域的应用,通过实例展示如何利用Boost.Asio等组件构建高效、可…

torch.roll演算及代码测试

文章目录 1. torch.roll2. pytorch代码 1. torch.roll torch.roll 的作用是可以将矩阵A中的元素按照指定的维度移动指定步长 excel 图示: 2. pytorch代码 import torch import torch.nn as nn import torch.nn.functional as Fif __name__"__main__"…

Linux——基础命令1

$:普通用户 #:超级用户 cd 切换目录 cd 目录 (进入目录) cd ../ (返回上一级目录) cd ~ (切换到当前用户的家目录) cd - (返回上次目录) pwd 输出当前目录…

Spider 数据集上实现nlp2sql训练任务

NLP2SQL(自然语言处理到 SQL 查询的转换)是一个重要的自然语言处理(NLP)任务,其目标是将用户的自然语言问题转换为相应的 SQL 查询。这一任务在许多场景下具有广泛的应用,尤其是在与数据库交互的场景中&…

【Linux】之【Get√】nmcli device wifi list 与 wpa_cli scan 和 wpa_cli scan_result 区别

nmcli device wifi list 是 NetworkManager 的命令行工具 nmcli 的一部分,它用于列出当前可用的无线网络。它的作用和 wpa_cli 的扫描功能类似,但有一些不同点。 1. nmcli device wifi list 功能: nmcli device wifi list 命令用于显示当前…

数据库如何清空重置索引,MySQL PostgreSQL SQLite SQL Server

要彻底清空数据库并重置自增ID(索引),具体操作取决于您使用的数据库管理系统(DBMS)。以下是针对几种常见数据库的说明: MySQL 对于MySQL,您可以使用如下命令来删除表中的所有数据,并将自增计数器重置。 T…

边缘计算网关驱动智慧煤矿智能升级——实时预警、低延时决策与数字孪生护航矿山安全高效运营

迈向智能化煤矿管理新时代 工业物联网和边缘计算技术的迅猛发展,煤矿安全生产与高效运营正迎来全新变革。传统煤矿监控模式由于现场环境复杂、数据采集和传输延时较高,已难以满足当下高标准的安全管理要求。为此,借助边缘计算网关的实时数据…