用途:为通用应用项目编写生产可用的 Dockerfile,适用于将 Node.js、Python、Go、Rust 或 Java 应用容器化、创建一致的构建/运行环境、为云部署或 Docker Compose 做准备,以及项目尚无 Dockerfile 时。
主要能力:按语言选择基础镜像(如 Node.js 用 node:22-bookworm-slim、Python 用 python:3.12-slim-bookworm、Go 用 golang:1.23-bookworm 构建后转 gcr.io/distroless/static、Rust 用 rust:1.82-bookworm 构建后转 debian:bookworm-slim、Java 用 eclipse-temurin:21-jdk 构建后转 eclipse-temurin:21-jre);提供各语言 Dockerfile 写法;区分 ENTRYPOINT 与 CMD;生成 .dockerignore;添加非 root 用户;构建并验证。
使用方式:需提供项目语言与入口点(如 npm start、python app.py)、依赖清单(package.json、requirements.txt、go.mod、Cargo.toml、pom.xml),可选目标环境与暴露端口。构建命令为 docker build -t myapp:latest .,运行 docker run --rm myapp:latest,查看镜像大小 docker image inspect myapp:latest --format '{{.Size}}'。
限制与注意:生产镜像应选 slim/distroless 变体;始终以非 root 运行;先复制依赖清单再复制源码以利用缓存;避免使用 latest 标签;Python 需加 --no-cache-dir;优先用 COPY 而非 ADD;不得将密钥或 .env 打入镜像。资料未提供收费、价格或平台信息。