【部署篇】Docker配置MySQL容器+远程连接

一、前言

上篇文章在部署nestjs时,由于docker访问不了主机的localhost,所以无法连接主机数据库。所以我们只能在docker中额外配置一个数据库,映射到主机上,然后可以通过ip地址访问。

在本篇文章我们会在docker中创建一个mysql,毕竟使用navigator连接测试。

二、Docker配置MySQL容器(全流程)

步骤 1: 拉取 MySQL 镜像

首先,使用以下命令从 Docker Hub 拉取 MySQL 镜像:

bash 复制代码
docker pull mysql

步骤 2: 运行 MySQL 容器

使用以下命令创建并运行 MySQL 容器:

bash 复制代码
docker run -d \
  --name=mysql-container \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -e MYSQL_DATABASE=test \
  -e MYSQL_USER=root \
  -e MYSQL_PASSWORD=root \
  -p 3307:3306 \
  mysql

ps: 由于本机数据库占着3306端口,这里换成3307

在上述命令中:

  • -d 表示在后台运行容器。
  • --name=mysql-container 给容器命名为 mysql-container,你可以根据需要自定义名称。
  • -e 选项用于设置环境变量,包括 root 用户密码、数据库名称、用户名和用户密码。
  • -p 3306:3306 将 MySQL 的默认端口映射到主机的端口 3306。你可以根据需要选择其他端口。

步骤 3: 连接到 MySQL 容器

bash 复制代码
docker exec -it mysql-container mysql -uroot -p

系统将提示你输入 root 用户的密码,输入之后你将进入 MySQL 的命令行界面。

步骤4:使用navicat测试

报错的话需要去阿里云打开对应的端口


再次尝试即可连接成功!

相关推荐
donecoding2 小时前
别再让 pnpm 跟着 nvm 跑了!独立安装终极指南
前端·node.js·前端工程化
GISer_Jing2 小时前
AI全栈转型_TS后端学习路线
前端·人工智能·后端·学习
竹林8182 小时前
被The Graph的GraphQL查询坑了三天,我用一个真实DeFi项目把链上数据索引彻底搞懂了
前端·graphql
漫游的渔夫2 小时前
前端开发者做 Agent:别只会执行,用 4 类失败策略让 AI 知道怎么停
前端·人工智能·typescript
用户059540174463 小时前
把多级缓存一致性验证从手工测试换成 Pytest 参数化,Bug 排查时间缩短 90%
前端·css
PaperData3 小时前
2003-2026.1北大法宝地方数字经济政策数据
数据库·数据分析·学习方法·经管
暗不需求3 小时前
深入理解 LangChain:AI 应用开发框架的工程化实践
前端·langchain
BU摆烂会噶3 小时前
【LangGraph】持久化实现的三大能力——人机交互
数据库·人工智能·python·langchain·人机交互
.柒宇.3 小时前
AI掘金头条项目部署实践指南
linux·运维·python·fastapi
budingxiaomoli3 小时前
多机部署,负载均衡-LoadBalancer
运维·spring cloud·负载均衡