当前位置: 首页 > news >正文

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

用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.lryc.cn/news/453825.html

相关文章:

  • 快速上手C语言【上】(非常详细!!!)
  • [深度学习][python]yolov11+deepsort+pyqt5实现目标追踪
  • 【CSDN入门级教程】
  • 二叉搜索树 (BST) 节点插入、查找、删除、获取最大值、最小值和中序遍历排序等功能
  • unity ps 2d animation 蛇的制作
  • 39 C 语言枚举类型、枚举常量、枚举变量、枚举的遍历、枚举数组、枚举与 switch
  • LabVIEW程序怎么解决 Bug?
  • AR智能眼镜之战:Meta vs Snap
  • Spring Boot 集成 Flowable UI 实现请假流程 Demo
  • 毕业设计选题:基于ssm+vue+uniapp的医院管理系统小程序
  • 自动驾驶系列—线控悬架技术:自动驾驶背后的动力学掌控者
  • CTF刷题buuctf
  • Qt QWidget控件
  • 如何通过Dockfile更改docker中ubuntu的apt源
  • [C++][第三方库][jsoncpp]详细讲解
  • JavaScript中decodeURIComponent函数的深入解析与应用指南
  • DMA方式为什么无需保护现场
  • 区块链可投会议CCF C--FC 2025 截止10.8 附录用率
  • springboot系列--web相关知识探索四
  • 在PyQt5中,清空一个QFrame中的所有控件
  • SpringBoot实现:校园资料分享平台开发指南
  • Redis篇(缓存机制 - 基本介绍)(持续更新迭代)
  • 引领5G驱动的全球数字营销革新:章鱼移动广告全球平台的崛起
  • 思维链ChatGPT
  • idea中的Java版本运行错误
  • 用HTML5+CSS+JavaScript庆祝国庆
  • 《OpenCV 计算机视觉》—— 视频背景建模
  • 【Mac】和【安卓手机】 通过有线方式实现投屏
  • GitHub flow工作流
  • 【Qt笔记】QFrame控件详解