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

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.kler.cn/news/333600.html

相关文章:

  • cnn突破四(生成卷积核与固定核对比)
  • 【STM32开发之寄存器版】(四)-独立看门狗IWDG
  • 深入解析 RISC-V 递归函数的栈使用:以阶乘函数为例
  • RCE_无回显
  • MES系列-MES赋能智能工厂
  • Java之队列
  • Pikachu-url重定向-不安全的url跳转
  • Redis基础三(redis的高级配置)
  • 【rCore OS 开源操作系统】Rust 字符串(可变字符串String与字符串切片str)
  • C++:STL常用算法随笔
  • Prometheus之Pushgateway使用
  • 静态路由故障排查
  • python中的copy方法
  • 为什么MySQL不建议使用delete删除数据
  • 基于springboot vue 电影推荐系统
  • 掌握 C# 多线程与异步编程
  • 408笔记|随笔记录|自用|2
  • (Linux驱动学习 - 6).Linux中断
  • JDK——java.util.function
  • [Python学习日记-39] 闭包是个什么东西?