SuperAPI AI 工具集

docker-deployment

部署与运维

查看项目

更新于 10-14 22:54

技能介绍

用途

Docker Deployment 技能用于将 Node.js 应用容器化并部署,目标是获得一致、可移植的部署环境。资料说明其适用于需要统一开发、预发布、生产环境的场景,微服务部署,希望便于扩展与编排,使用云平台(AWS、GCP、Azure),以及实施 CI/CD 流水线的情况。

主要能力

  • 基础 Dockerfile 编写:基于 node:18-alpine,设置工作目录、复制依赖清单、安装生产依赖、暴露端口并定义启动命令。
  • 多阶段构建:分为构建阶段与生产阶段,从构建阶段复制 node_modules 与应用代码,创建非 root 用户,配置健康检查。
  • Docker Compose:编排 app、PostgreSQL、Redis、Nginx 等多服务,配置端口、环境变量、依赖关系、重启策略与数据卷。
  • 环境变量管理:可在 Dockerfile、docker-compose.yml 或 .env 文件中设置。
  • 数据卷持久化:支持绑定挂载与命名卷。
  • 健康检查:在 Dockerfile 中定义 HEALTHCHECK,并提供 healthcheck.js 示例。
  • 镜像优化:使用 Alpine 基础镜像、多阶段构建、.dockerignore、npm ci、仅安装生产依赖、合并 RUN 命令减少层数。
  • 生产最佳实践:非 root 用户运行、文件权限归属、使用 node 直接启动以改善信号处理。
  • Docker Hub 部署:登录、打标签、推送与拉取镜像的命令。
  • CI/CD:提供 GitHub Actions 工作流示例,使用 buildx、登录 Docker 并构建推送镜像,支持缓存。
  • 常见问题与解决:node_modules 缓存、信号处理(SIGTERM)。

使用方式

资料给出的快速开始为三步:创建 Dockerfile、执行 docker build -t myapp . 构建镜像、执行 docker run -p 3000:3000 myapp 运行容器。同时列出常用 Docker 命令(构建、运行、查看日志、进入容器、停止、删除、列出与删除镜像、清理资源)以及 Docker Compose 命令(启动、查看日志、停止、重建、扩展服务)。还提供 .dockerignore 示例内容。

适用场景

需要一致环境(dev、staging、prod)、部署微服务、希望易于扩展与编排、使用云平台、实施 CI/CD 流水线时使用 Docker 部署。资料还列出相关技能:Express REST API(容器化 API)、数据库集成(多容器设置)、测试与调试(在容器中测试)、性能优化(优化镜像)。

限制

资料未提供该技能的具体收费、价格、平台支持范围或效果保证等信息,这些内容暂未提供。