Docker Desktop安装mysql

安装 Docker Desktop

1、访问 Docker Desktop 官方下载地址:https://www.docker.com/products/docker-desktop/ , 选择对应平台的 Docker Desktop 安装包点击下载:

2、下载成功后,双击开始安装:

3、安装之前的相关配置:

  • Use WSL 2 instead of Hyper-V (recommended) : 启用虚拟化,以 WSL 2 替代 Hyper-V;
  • Add shortcut to desktop : 安装成功后添加桌面快捷启动图标;

将两个选项都勾选上,然后点击【ok】,开始安装:

4、 安装成功后,点击【Close】按钮重启系统:

5、重启系统成功后,会自动显示如下弹框,点击【Accept】按钮接受协议:

注意:你可能会弹出如下图所示的警告,告诉你 WSL kernel version too low :

如何解决呢?步骤如下:

1、打开 cmd 命令行,执行如下命令更新 wsl:

XML 复制代码
wsl --update

2、如果启动 Docker 还是连接错误,在命令行中,执行以下命令进行重启:

bash 复制代码
netsh winsock reset

6、Docker 启动成功后,跳过引导介绍,看到下面界面表示 Docker 运行成功了:

查看当前 Docker 版本

在 PowerShell 中执行如下命令,可打印 Docker 版本号:

bash 复制代码
docker -v
验证 Docker Desktop 桌面版是否能够正常使用

在 PowerShell 中执行如下命令:

bash 复制代码
docker run hello-world

若输出如下,则表示 Docker 安装成功,且能够正常工作:

打开 Docker Desktop 可查看到刚刚的 hello-world 镜像

Docker 安装 MySQL 5.7

Docker 安装成功后,我们来通过它安装 MySQL 5.7。

下载 MySQL 5.7 镜像

打开 PowerShell 命令行,执行如下命令:

bash 复制代码
docker pull mysql:5.7

拉取 MySQL 镜像完成后,执行如下命令,即可在本地镜像列表中看到下载好的 5.7 版本镜像了:

bash 复制代码
docker images
启动 MySQL 容器

有了镜像后,通过它来启动一个 MySQL 容器,执行如下命令:

bash 复制代码
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

解释一下参数的含义:

  • -d:以后台的方式运行;
  • --name mysql:指定容器的名称为 mysql;
  • -p 3306:3306 将容器的 3306 端口挂载到宿主机的 3306 端口上(前面是宿主机的端口号,后面是容器的端口号);
  • -e MYSQL_ROOT_PASSWORD=123456:指定 root 用户的密码为 123456
查看容器是否启动成功

容器启动后,可通过执行如下命令来查看是否正常运行:

bash 复制代码
docker ps

可以看到列表中有个 MySQL 5.7 的容器正在运行了。

通过工具连接数据库

这里小哈使用的 Navicat, 输入主机、端口、用户名、密码后,点击测试连接 按钮,如果看到提示连接成功 ,则表示 MySQL 数据库安装成功啦~

相关推荐
小荷才露尖尖角,早有蜻蜓立上头25 分钟前
过滤器的4种创建方式
java
大圣编蚕35 分钟前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法
全栈攻略37 分钟前
Docker 中 ROS2 工作流 Topic 验证与常用命令指南
运维·docker·容器
程序员阿明1 小时前
idea把插件啥的不默认放在C盘
java·ide·intellij-idea
linweidong1 小时前
中科闻歌Java面试题及参考答案
java·python·大模型·提示词·ai agent·mcp·rag原理
OpenAnolis小助手2 小时前
一句话看透 JVM,SysOM 诊断 Skill 新增 Java 应用诊断能力
java·开发语言·jvm·阿里云·操作系统控制台·sysom
ForteScarlet2 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·java·开发语言·开源·kotlin·jetbrains
萧瑟余晖2 小时前
Java深入解析篇六十二之安全机制详解
java·开发语言
小刘在重生~2 小时前
Java 常用类|包装类 装箱拆箱、Integer 缓存面试题
java·python·缓存
Orange_sparkle2 小时前
Pi Agent vs LangGraph:从人机交互、企业 RAG 到持久化工作流的完整选型指南
java·网络·人机交互