🌟 课程目标
 
- 掌握Docker容器化部署
- 配置Nginx反向代理与负载均衡
- 实现阿里云ECS部署
- 了解Heroku云平台部署
 
一、Docker基础(集装箱革命)
 
1.1 Docker核心概念
 
 
1.2 与传统部署对比:
 
| 维度 | 传统部署 | Docker部署 | 
|---|
| 环境一致性 | 依赖系统环境 | 镜像打包全部依赖 | 
| 资源占用 | 需要完整OS | 共享主机内核 | 
| 启动速度 | 分钟级 | 秒级 | 
 
 
二、Docker化全栈项目(打包生产线)
 
2.1 Flask后端Dockerfile
 
# 基础镜像
FROM python:3.9-slim# 设置工作目录
WORKDIR /app# 安装依赖
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt# 复制项目文件
COPY . .# 暴露端口
EXPOSE 5000# 启动命令
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "app:app"]
 
2.2 Vue前端Dockerfile
 
# 构建阶段
FROM node:16 as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build# 生产镜像
FROM nginx:alpine
COPY --from=build-stage /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
 
 
三、Docker Compose编排(物流调度中心)
 
3.1 docker-compose.yml
 
version: '3.8'services:backend:build: ./backendports:- "5000:5000"environment:- DATABASE_URL=postgres://user:pass@db:5432/mydbdepends_on:- dbfrontend:build: ./frontendports:- "80:80"