📘 Node.js 部署 & 容器化运维

🧩 30 章 · 从入门到生产
01部署概述
传统部署 vs 容器化部署,为什么选择Docker,课程目标与前置知识。
Docker对比
02环境准备
安装Docker、Docker Compose、Node.js环境,配置国内镜像源。
安装镜像源
03第一个Node.js应用
创建Express应用,编写Dockerfile,构建镜像并运行容器。
ExpressDockerfile
04Dockerfile最佳实践
多阶段构建、减少镜像层数、使用.dockerignore、安全注意事项。
多阶段安全
05Docker Compose入门
编写docker-compose.yml,定义服务、网络、卷,启动多容器应用。
Compose多容器
06Node.js + 数据库容器化
配置PostgreSQL/MySQL容器,Node.js连接数据库,数据持久化。
PostgreSQLMySQL
07环境变量与配置管理
使用.env文件,Docker环境变量传递,配置中心方案。
.env配置中心
08日志管理
Node.js日志最佳实践(winston/pino),Docker日志驱动,集中式日志收集(ELK)。
winstonELK
09健康检查与自动重启
Docker HEALTHCHECK,Node.js健康检查端点,重启策略配置。
HEALTHCHECK重启
10负载均衡与反向代理
Nginx配置,负载均衡策略,SSL/TLS终止,WebSocket支持。
NginxSSL
11水平扩展
使用Docker Compose scale,多实例部署,无状态应用设计原则。
scale无状态
12CI/CD集成
GitHub Actions/GitLab CI配置,自动构建镜像,推送到镜像仓库,自动部署。
GitHub ActionsGitLab CI
13镜像仓库管理
Docker Hub、阿里云ACR、Harbor私有仓库,镜像标签策略,清理策略。
HarborACR
14Kubernetes入门
K8s核心概念(Pod、Service、Deployment),minikube/k3s本地集群搭建。
Podminikube
15Kubernetes部署Node.js
编写Deployment和Service YAML,滚动更新,回滚操作。
Deployment滚动更新
16K8s配置管理
ConfigMap和Secret,挂载配置到Pod,热更新配置。
ConfigMapSecret
17K8s存储
PersistentVolume和PersistentVolumeClaim,StatefulSet用于有状态应用。
PV/PVCStatefulSet
18K8s网络
Service类型(ClusterIP、NodePort、LoadBalancer),Ingress控制器。
ServiceIngress
19K8s监控
Metrics Server,Prometheus + Grafana监控Node.js应用,自定义指标。
PrometheusGrafana
20K8s日志
EFK/PLG栈,Fluentd/Fluent Bit采集日志,日志查询与分析。
EFKFluentd
21K8s弹性伸缩
HPA(水平Pod自动伸缩),VPA(垂直Pod自动伸缩),Cluster Autoscaler。
HPAVPA
22K8s安全
RBAC权限控制,Pod安全策略,网络策略,镜像安全扫描。
RBAC安全扫描
23Helm包管理
Helm安装,Chart结构,编写Node.js Chart,部署与升级。
HelmChart
24服务网格入门
Istio架构,流量管理,可观测性,安全策略。
Istio流量管理
25灰度发布与蓝绿部署
Kubernetes原生策略,Argo Rollouts,Nginx流量切分。
Argo蓝绿
26性能优化
Node.js应用性能调优,Docker资源限制,Kubernetes资源请求与限制。
调优资源限制
27故障排查
常见Docker问题,Kubernetes Pod排错,网络问题诊断,性能瓶颈定位。
排错诊断
28备份与灾难恢复
数据库备份策略,Kubernetes资源备份(Velero),恢复演练。
Velero备份
29生产环境最佳实践
高可用架构设计,监控告警体系,容量规划,成本优化。
高可用成本优化
30课程总结与展望
知识体系回顾,学习路径推荐,云原生发展趋势,认证考试建议。
云原生认证