讲师中心 微信公众号
AI工具推荐 视频效率加速

如何通过 Docker 快速搭建 Node.js 与 MySQL 开发环境

落枫酱_3310

落枫酱_3310

发布时间:2026-09-08 10:03:20

|

497人浏览过

|

来源于php中文网

原创

用 Docker 一键启动隔离的 Node.js + MySQL 开发环境:通过 docker-compose.yml 编排,MySQL 挂载卷持久化数据并自动建库,Node.js 服务与 MySQL 同网络、以服务名互连,5 分钟内完成部署且避免端口冲突、认证失败等常见坑。

如何通过 docker 快速搭建 node.js 与 mysql 开发环境

直接用 Docker 启动一个隔离、开箱即用的 Node.js + MySQL 开发环境,5 分钟内就能跑起来,不需要本地装 MySQL、配环境变量、调端口冲突。关键不是“能不能搭”,而是“怎么搭得干净、可复用、不踩坑”。

一步拉起 MySQL 容器(带数据持久化)

别用 docker run -it mysql 临时跑着玩——关掉容器数据就没了。真正开发要用挂载卷 + 环境变量预设:

  • 执行命令启动带持久化的 MySQL 实例:
    docker run -d --name mysql-dev -p 3306:3306 -e MYSQL_ROOT_PASSWORD=dev123 -v mysql-data:/var/lib/mysql -e MYSQL_DATABASE=myapp mysql:8.0
  • mysql-data 是 Docker 卷名,自动创建并保存所有数据库文件,删容器也不丢数据
  • 加 -e MYSQL_DATABASE=myapp 会自动建好库,省去进容器手动 CREATE DATABASE
  • 首次启动后,可用 docker exec -it mysql-dev mysql -uroot -pdev123 -D myapp 直接连进去验证

Node.js 服务直连容器内 MySQL

本地 Node.js 项目不用改代码逻辑,只需把数据库连接地址从 localhost 换成容器名 mysql-dev ——前提是它们在同一个 Docker 网络里:

minimax-mcp-docker版(适配极空间)
minimax-mcp-docker版(适配极空间)

MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。

下载
  • 先创建自定义网络:docker network create node-mysql-net
  • 把 MySQL 加入该网络:docker network connect node-mysql-net mysql-dev
  • 运行你的 Node.js 服务时也指定同一网络,并用 --link 或环境变量传地址:
    docker run -d --name node-api --network node-mysql-net -p 3000:3000 -e DB_HOST=mysql-dev -e DB_USER=root -e DB_PASS=dev123 your-node-app
  • Node.js 代码中连接字符串写成:mysql://root:dev123@mysql-dev:3306/myapp(注意:host 是容器名,不是 localhost)

用 Docker Compose 一键编排整套环境

手动敲一堆 docker run 容易漏参数、难维护。推荐直接写 docker-compose.yml,三行配置搞定协同启动:

  • 示例最小配置:
    version: '3.8'<br>services:<br>  db:<br>    image: mysql:8.0<br>    environment:<br>      MYSQL_ROOT_PASSWORD: dev123<br>      MYSQL_DATABASE: myapp<br>    volumes:<br>      - mysql-data:/var/lib/mysql<br>    ports:<br>      - "3306:3306"<br><br>  app:<br>    build: .<br>    environment:<br>      DB_HOST: db<br>      DB_USER: root<br>      DB_PASS: dev123<br>    ports:<br>      - "3000:3000"<br>    depends_on:<br>      - db<br><br>volumes:<br>  mysql-data:
  • 存好文件后,终端执行 docker-compose up -d,MySQL 和 Node.js 自动按依赖顺序启动
  • 前端请求后端时,后端通过 db 这个服务名就能访问 MySQL,完全不用管 IP

常见问题快速绕过

实际操作中最常卡在这几个点,提前知道就能少查一小时文档:

  • 连接被拒绝? 检查 Node.js 服务是否监听 0.0.0.0:3000 而非 127.0.0.1:3000(Docker 容器外无法访问 localhost)
  • 报错 “Client does not support authentication protocol”? MySQL 8 默认用 caching_sha2_password,Node.js 的 mysql2 驱动旧版本不兼容,启动容器时加参数:
    -e default_authentication_plugin=mysql_native_password
  • 数据初始化脚本没执行? 把 .sql 文件放进 /docker-entrypoint-initdb.d/ 目录(通过 volumes 挂载),MySQL 启动时会自动执行
  • 想快速验证整套流程? 直接上 InsCode(快马)平台选 “MySQL+Node.js 快速启动模板”,生成即用的全栈项目,含 Swagger 文档和 React 管理后台,适合创意验证阶段

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

1973

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

1219

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

715

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2592

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

4288

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

1019

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

4551

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

4102

2023.08.14

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

120

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn