Windows环境下使用Docker配置MySQL数据库

news/2024/12/21 19:56:14/

用Docker配置数据库,无论是做开发,还是做生产部署,都非常的方便

它不需要单独安装数据库,也不用担心出现各种环境的配置问题。

本文将分享用Docker配置数据库的步骤,这里用MySQL举例。

其他的数据库如MSSQL,又或者redis等关系型数据库,同理。

1. 首先安装Docker desktop。在官网下载安装就行了,非常简单

2. 添加registry镜像 (不然可能无法从Docker Hub拉取数据库镜像)

两种方法,一种是打开Docker desktop。

找到Extensions右边的三个点,点击后选择"Setting"

选择“Docker Engine”,在右边的文本框里加入

//添加registry镜像
//示例中的镜像,截止到2024/9/30可用
"registry-mirrors": ["https://docker.1panel.live","https://hub.rat.dev/","https://docker.chenby.cn","https://docker.m.daocloud.io"]

点击右下角"Apply & restart"

第二种方法,打开 C:\用户\{你的用户名}\.docker\daemon.json,直接添加到文件里就行了

3. 命令行拉取MySql镜像

$ docker pull mysql:5 //如果想要最新版就用mysql:latest,我这里是指定的Mysql5

然后等待拉取完成:

Docker Desktop的Images界面,就会多一个MySQL 5的镜像

4 .回到命令行,运行MySQL容器

$ docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:5

--name mysql-container 指定容器名称,可以根据需要修改。
-e MYSQL_ROOT_PASSWORD=root 设置根用户的密码为 root,你可以根据需要更改密码。
-d 是表示后台运行。
-p 3306:3306 将容器的 3306 端口映射到主机的 3306 端口

成功后会返回一长串由英文和数字组合起来的字符串,这是容器ID

. Docker Desktop的Containers界面可以查看到容器的详细情况

或者使用命令

$ docker ps

5. 用客户端工具连接MySQL (这里用DBeaver),开始愉快的coding吧

6. 也可以用命令行连接

docker exec -it mysql-container mysql -uroot -proot //-proot 记得把root替换成你自己设置的密码

7 . (可选)数据持久化,为了确保数据在容器重启后不会丢失,可以使用 Docker 数据卷。运行 MySQL 容器时,可以添加一个卷:

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 -v mysql-data:/var/lib/mysql mysql:5

这会将 MySQL 数据存储在 Docker 管理的卷 mysql-data 中

8. 停止并删除容器 (如果需要的话)

docker stop mysql-container
docker rm mysql-container


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

相关文章

深入探索 PyTorch 在机器学习中的应用

目录 PyTorch 概述安装 PyTorchPyTorch 的基本概念 张量自动微分 深度学习模型的构建 定义模型损失函数与优化器 训练模型在机器学习中的应用 图像分类自然语言处理强化学习 迁移学习PyTorch 的优势与局限性实际应用案例总结与展望 1. PyTorch 概述 PyTorch 是一个开源的深度…

有些硬盘录像机接入视频汇聚平台EasyCVR后通道不显示/显示不全,该如何处理?

EasyCVR视频监控汇聚管理平台是一款针对大中型项目设计的跨区域网络化视频监控集中管理平台。该平台不仅具备视频资源管理、设备管理、用户管理、运维管理和安全管理等功能,还支持多种主流标准协议,如GB28181、RTSP/Onvif、RTMP、部标JT808、GA/T 1400协…

城市空间设计对居民生活质量的影响:构建宜居城市的蓝图

在快节奏的现代生活中,城市不仅是经济活动的中心,更是人们生活、工作、休闲的综合载体。本文旨在深入探讨城市空间设计如何通过科学规划、人性化考量以及生态融合,为居民打造更加宜居、和谐的生活环境。 1. 促进社区互动与归属感 城市空间设…

JS测试框架——Jest

文章目录 安装yarn安装jestvscode支持jest的智能提示创建JS测试用例 安装yarn yarn是meta发布的一款取代npm的包管理工具。 npm install -g yarn查看yarn软件源 yarn config get registry换源 yarn config set registry https://registry.npmmirror.com恢复官方源 yarn co…

Qt/C++开源控件 自定义雷达控件

使用Qt框架创建一个简单的雷达图&#xff0c;包含动态扫描、目标点生成、刻度和方向标识。代码实现使用C编写&#xff0c;适合用作学习和扩展的基础。 1. 头文件与基本设置 #include "RadarWidget.h" #include <QPainter> #include <QPen> #include &…

用Python实现运筹学——Day 11: 线性规划的实际应用

一、学习内容 1. 不同领域中线性规划的经典应用场景 线性规划在多个领域中有广泛的应用&#xff0c;常见的应用领域包括&#xff1a; 生产计划与资源分配&#xff1a;用于优化生产调度、资源分配和生产线管理&#xff0c;最大化利润或最小化成本。物流与运输&#xff1a;解决…

IPv6常见问题解答

1. 怎么判断宽带是否支持IPv6&#xff1f; 有两种方式。①与宽带运营商确认线路是否支持IPv6&#xff1b;②电脑直连猫拨号&#xff0c;看电脑是否获取到IPv6地址。 2. 怎么判断IPv6线路是否支持前缀授权&#xff1f; 请致电宽带运营商确认。 3. 怎么判断路由器是否支持IPv…

【JavaEE】——线程池大总结

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c; 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能够帮助到你&#xff01; 目录 引入&#xff1a;问题引入 一&#xff1a;解决方案 1&#xff1a;方案一——协程/纤程 &#xff08;1…