Docker容器化部署
一、Docker基础概念
- 镜像(Image):应用的只读模板
- 容器(Container):镜像的运行实例
- Dockerfile:构建镜像的指令文件
- Docker Compose:多容器编排工具
二、Dockerfile编写
一个典型的Node.js Dockerfile:
- FROM node:18-alpine
- WORKDIR /app
- COPY package*.json ./
- RUN npm ci --only=production
- COPY . .
- EXPOSE 3000
- CMD ["node", "server.js"]
三、Docker Compose
使用docker-compose.yml管理多个服务:应用、数据库、缓存等,一条命令启动全部。
四、生产部署建议
- 多阶段构建减小镜像体积
- 使用.dockerignore排除无关文件
- 健康检查配置
- 日志收集与管理