用途:Docker 通过容器化把应用与依赖封装为隔离、可移植的单元,使开发、测试和生产环境保持一致。适用场景包括团队统一的本地开发环境、CI/CD 可复现构建与测试、微服务独立扩展、跨云的生产部署、集成测试用的临时数据库,以及并行运行不兼容依赖的遗留应用隔离。
主要能力:镜像(只读模板)与容器(运行实例)的区分、Registry 镜像存储、Dockerfile 分层与缓存、卷的持久化数据、网络通信、多阶段构建以减小镜像、.dockerignore 排除构建上下文、Docker Compose 定义多容器应用、健康检查、非root用户与漏洞扫描等安全实践、密钥管理与资源限制,以及与 GitHub Actions 的 CI/CD 集成。
必要用法:创建 Dockerfile,例如 FROM node:18-alpine、WORKDIR /app、COPY package*.json ./、RUN npm ci --only=production、COPY . .、EXPOSE 3000、CMD ["node", "server.js"];构建镜像 docker build -t myapp:1.0 .;运行容器 docker run -p 3000:3000 myapp:1.0。多容器可用 docker-compose up -d、docker-compose logs -f app、docker-compose down 等命令。
限制:资料未提供具体收费、价格或平台支持范围;实际端口、镜像标签与命令参数需按项目调整。
(资料还包含多阶段构建、Django/FastAPI/Next.js/Express/TypeScript/Go 等示例、Swarm 与 Kubernetes 对比、GitHub Actions 工作流,此处不逐一展开。)