NoDock完全指南:如何用Docker Compose一键搭建Node.js全栈开发环境
NoDock完全指南如何用Docker Compose一键搭建Node.js全栈开发环境【免费下载链接】nodockDocker Compose for Node projects with Node, MySQL, Redis, MongoDB, NGINX, Apache2, Memcached, Certbot and RabbitMQ images项目地址: https://gitcode.com/gh_mirrors/no/nodock想要快速搭建Node.js全栈开发环境吗NoDock是你的终极解决方案这个强大的Docker Compose工具包让开发者在几分钟内就能搭建起完整的Node.js开发环境包含MySQL、Redis、MongoDB、NGINX、Apache2、Memcached、Certbot和RabbitMQ等所有必需组件。无论你是前端开发者想要快速启动后端服务还是全栈工程师需要完整的开发栈NoDock都能满足你的需求。✨ NoDock的核心优势为什么选择NoDock传统的Docker Node.js镜像虽然简单但对于复杂的全栈项目来说功能有限。NoDock提供了完整的开发环境解决方案让你专注于代码开发而不是环境配置。它为你处理了所有的连线工作让你能够快速启动和运行项目。主要功能特点一站式解决方案集成Node.js、数据库、Web服务器、消息队列等开箱即用无需复杂的配置几分钟内即可启动完整环境灵活定制支持多种配置选项和自定义设置生产就绪提供HTTPS支持、负载均衡等生产环境功能多容器支持可以同时运行多个Node.js应用实例 快速开始指南环境要求在开始之前请确保你的系统满足以下要求Docker Engine 17.06Docker Compose 1.8安装NoDockNoDock提供了两种安装方式作为Git子模块安装git submodule add https://gitcode.com/gh_mirrors/no/nodock.git直接克隆到项目git clone https://gitcode.com/gh_mirrors/no/nodock.git基础使用进入NoDock目录启动Node.js和NGINX服务cd nodock docker-compose up -d node nginx就是这么简单你的Node.js应用现在已经运行在Docker容器中并通过NGINX提供服务。 支持的组件服务NoDock提供了丰富的组件选择你可以根据需要组合使用组件默认端口主要用途Node.js8000应用服务器MySQL3306关系型数据库PostgreSQL5432高级关系型数据库MongoDB27017NoSQL文档数据库Redis6379内存数据存储NGINX80/443Web服务器/反向代理Apache280/443Web服务器RabbitMQ5672消息队列Memcached11211内存缓存系统Certbot-SSL证书管理 配置与自定义使用docker-compose.override.yml要自定义NoDock配置可以创建docker-compose.override.yml文件version: 3 services: node: build: args: - NODE_VERSION14.17.0 - NODE_ENVdevelopment - YARNtrue常用配置选项更改Node.js版本node: build: args: - NODE_VERSION16.13.0启用Yarn包管理器node: build: args: - YARNtrue修改MySQL数据库配置mysql: build: args: - MYSQL_DATABASEmyapp_db - MYSQL_USERmyapp_user - MYSQL_PASSWORDsecure_password Web项目配置启用HTTPS支持要启用HTTPS在配置文件中设置nginx: build: args: - WEB_SSLtrue使用自签名证书nginx: build: args: - WEB_SSLtrue - SELF_SIGNEDtrue使用Lets Encrypt证书nginx: build: args: - WEB_SSLtrue certbot: environment: - CNyourdomain.com - EMAILadminyourdomain.com️ 多应用场景运行多个Node.js容器NoDock支持同时运行多个Node.js应用实例。在docker-compose.override.yml中添加node2: build: context: ./node args: - NODE_VERSIONlatest - PROJECT_PATH/opt/app/ - NODE_ENVproduction - YARNfalse volumes: - ../:/opt/app entrypoint: run-nodock node alternate.jsWorkspace容器workspace容器是手动运行命令的理想环境可用于项目初始化、任务自动化等docker-compose exec workspace bash在workspace容器中你可以运行npm命令、数据库迁移脚本等。 实用示例MySQL Node.js NGINX示例这是最常见的全栈配置。首先复制示例文件cp -r nodock/_examples/mysql/* .然后启动服务cd nodock/ docker-compose up -d mysql node nginx访问127.0.0.1你将看到Node.js成功连接到MySQL的确认信息。MongoDB Node.js示例对于MongoDB项目cp -r nodock/_examples/mongo/* . cd nodock/ docker-compose up -d mongo node nginxRedis缓存示例cp -r nodock/_examples/redis/* . cd nodock/ docker-compose up -d redis node nginx 开发工作流日常开发流程启动开发环境docker-compose up -d node nginx mysql查看日志docker-compose logs -f node进入容器调试docker-compose exec node bash停止服务docker-compose down数据持久化所有数据库数据都保存在./data/目录中确保数据在容器重启后不会丢失MySQL数据./data/mysql/PostgreSQL数据./data/postgresql/MongoDB数据./data/mongo/Redis数据./data/redis/️ 高级功能定时任务Cronjobs在workspace/crontab/root文件中添加定时任务# workspace/crontab/root # 每分钟执行一次 * * * * * echo 每分钟执行 /var/log/cron.log # 每天凌晨2点执行备份 0 2 * * * /opt/app/scripts/backup.sh自定义NGINX配置如果需要自定义NGINX配置可以创建自己的服务器块# nginx/sites/custom-node.conf server { listen 8080 default_server; location / { proxy_pass http://node:5000; } }时区设置修改workspace容器的时区workspace: build: context: ./workspace args: - TZAsia/Shanghai 最佳实践建议开发环境配置对于开发环境建议使用以下配置# docker-compose.override.yml services: node: build: args: - NODE_ENVdevelopment - NODE_VERSION16.13.0 volumes: - ../:/opt/app - /opt/app/node_modules生产环境配置生产环境需要考虑安全性和性能使用具体的Node.js版本号而不是latest设置强密码和安全的数据库配置启用HTTPS并配置正确的SSL证书配置适当的日志轮转性能优化建议为不同的服务分配适当的内存限制使用Docker卷进行数据持久化配置合理的重启策略监控容器资源使用情况 故障排除常见问题解决端口冲突检查是否有其他服务占用了80、443、3306等端口。容器启动失败查看详细日志docker-compose logs [service_name]数据库连接问题确保数据库容器完全启动后再启动应用容器。权限问题检查文件权限确保Docker可以访问项目文件。调试技巧查看所有容器状态docker-compose ps查看特定服务日志docker-compose logs -f node进入容器调试docker-compose exec node bash重建容器docker-compose up -d --build node 学习资源官方示例NoDock提供了丰富的示例配置位于_examples/目录中_examples/apache/- Node.js Apache配置_examples/nginx/- Node.js NGINX配置_examples/mysql/- MySQL Node.js NGINX配置_examples/postgresql/- PostgreSQL Node.js NGINX配置_examples/mongo/- MongoDB Node.js NGINX配置_examples/redis/- Redis Node.js NGINX配置配置文件说明docker-compose.yml- 主要配置文件docker-compose.override.yml- 自定义配置文件node/Dockerfile- Node.js容器配置nginx/Dockerfile- NGINX容器配置mysql/Dockerfile- MySQL容器配置 总结NoDock为Node.js开发者提供了完整的Docker Compose解决方案大大简化了开发环境的搭建过程。无论你是个人开发者还是团队协作NoDock都能帮助你快速启动项目专注于业务逻辑开发而不是环境配置。通过本文的指南你应该已经掌握了NoDock的核心功能和配置方法。现在就开始使用NoDock体验一键搭建Node.js全栈开发环境的便利吧✨记住NoDock的强大之处在于它的灵活性和可扩展性。随着项目的增长你可以轻松添加更多服务或调整配置而无需重新搭建整个环境。祝你开发愉快【免费下载链接】nodockDocker Compose for Node projects with Node, MySQL, Redis, MongoDB, NGINX, Apache2, Memcached, Certbot and RabbitMQ images项目地址: https://gitcode.com/gh_mirrors/no/nodock创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考