×
¥
查看详情
🔥 会员专享 文生文 其它

Dockerfile专业生成器

👁️ 97 次查看
📅 Dec 3, 2025
💡 核心价值: 本提示词专为DevOps场景设计,能够根据用户提供的应用程序类型、依赖管理方式、构建环境和部署配置等关键参数,生成专业、高效且符合最佳实践的Dockerfile文件。通过系统化的分析流程,确保生成的Dockerfile具备良好的安全性、性能优化和可维护性,适用于各种容器化部署需求,帮助开发者和运维人员快速构建标准化的应用镜像。

🎯 可自定义参数(4个)

应用类型
应用程序的技术栈类型
依赖管理
依赖管理配置文件
构建环境
构建目标环境
部署配置
应用部署架构类型

🎨 效果示例

Dockerfile完整代码

# syntax = docker/dockerfile:1.7
# Multi-stage build for a production-grade Node.js API service
# Requirements satisfied:
# - Non-root user for the app process
# - Healthcheck included
# - Minimal final image via multi-stage and dev-deps pruning
# - No secrets baked into image

ARG NODE_VERSION=20

############################
# 1) Dependencies (with dev)
############################
FROM node:${NODE_VERSION}-alpine AS deps
WORKDIR /app

# Speed up installs and keep reproducibility
RUN npm set fund false && npm set audit false

# Leverage build cache
COPY package*.json ./
RUN --mount=type=cache,target=/root/.npm \
    npm ci

############################
# 2) Build (optional)
############################
FROM node:${NODE_VERSION}-alpine AS builder
WORKDIR /app
ENV NODE_ENV=development

# Bring in deps (including dev) from previous stage
COPY --from=deps /app/node_modules ./node_modules

# Copy source
COPY . .

# Optional build: if "build" script exists it will run; otherwise no-op.
# Also ensure /app/dist exists so later COPY does not fail if build output is absent.
RUN mkdir -p /app/dist && \
    (npm run -s build >/dev/null 2>&1 || echo "No build step detected; skipping")

# A tiny healthcheck script that does not require shell or curl
# It checks GET http://127.0.0.1:${PORT:-3000}/healthz (configurable via HEALTHCHECK_PATH)
RUN printf "%s\n" \
"'use strict';" \
"const http = require('node:http');" \
"const timeout = 2000;" \
"const port = process.env.PORT || 3000;" \
"const path = process.env.HEALTHCHECK_PATH || '/healthz';" \
"const req = http.request({host:'127.0.0.1', port, path, method:'GET', timeout}, res => {" \
"  res.resume();" \
"  process.exit(res.statusCode && res.statusCode < 400 ? 0 : 1);" \
"});" \
"req.on('timeout', () => { req.destroy(new Error('timeout')); });" \
"req.on('error', () => process.exit(1));" \
"req.end();" \
> /app/healthcheck.js

##########################################
# 3) Production dependencies (no dev deps)
##########################################
FROM node:${NODE_VERSION}-alpine AS prod-deps
WORKDIR /app
ENV NODE_ENV=production
COPY package*.json ./
RUN --mount=type=cache,target=/root/.npm \
    npm ci --omit=dev --ignore-scripts

############################
# 4) Runtime (minimal, non-root)
############################
FROM node:${NODE_VERSION}-alpine AS runtime
# Install a minimal init to handle PID 1 signals and zombie reaping
RUN apk add --no-cache tini

# Create app dir owned by non-root "node" user provided by base image
WORKDIR /app

# Copy build artifacts (if any) and healthcheck script from builder
# Ensure proper ownership for non-root runtime user
COPY --from=builder --chown=node:node /app/dist ./dist
COPY --from=builder --chown=node:node /app/healthcheck.js ./healthcheck.js

# Copy application sources (for apps running from source or dist)
# Rely on .dockerignore to exclude unnecessary files at build time
COPY --chown=node:node . .

# Bring in production-only node_modules
COPY --from=prod-deps --chown=node:node /app/node_modules ./node_modules

# Runtime environment
ENV NODE_ENV=production
ENV PORT=3000
# You may override to match your service's ready endpoint
ENV HEALTHCHECK_PATH=/healthz

# Non-root runtime
USER node

# Healthcheck without requiring a shell/curl
HEALTHCHECK --interval=30s --timeout=3s --start-period=15s --retries=3 \
  CMD ["node", "/app/healthcheck.js"]

# Expose non-privileged port
EXPOSE 3000

# Use tini as entrypoint, then run the app with Node
ENTRYPOINT ["/sbin/tini","--"]

# Default command executes your package.json `"main"` via "node ."
# If your app uses dist output, ensure "main" points to it, or override CMD accordingly.
CMD ["node","."]

构建命令和使用说明

  • 构建镜像(建议开启 BuildKit)
    • docker buildx build -t api-service:prod --build-arg NODE_VERSION=20 .
  • 运行容器(生产建议)
    • docker run -d --name api-service
      -p 3000:3000
      -e NODE_ENV=production
      -e PORT=3000
      --read-only
      --tmpfs /tmp:rw,size=64m
      --cap-drop ALL
      --health-interval=30s --health-timeout=3s --health-retries=3
      api-service:prod
  • 验证健康检查
    • docker inspect --format='{{json .State.Health}}' api-service
  • 覆盖健康检查路径或启动命令(如你的健康接口不是/healthz)
    • docker run ... -e HEALTHCHECK_PATH=/livez api-service:prod
    • 或指定入口文件(如使用 dist/index.js)
      • docker run ... api-service:prod node dist/index.js

提示:

  • 请在项目根目录添加合理的 .dockerignore(如 .git, node_modules, logs, tests, docs 等)以缩小上下文与镜像体积。
  • 如果你的应用不是通过 package.json 的 "main" 字段启动,可修改 Dockerfile 最后一行 CMD,或在运行时覆盖。

安全注意事项

  • 非 root 运行:镜像使用 node 用户运行,避免特权进程。
  • 不要在镜像中包含敏感信息:不要把密钥、令牌、私有证书等 COPY 进镜像;改用环境变量或挂载 Secret(如 Docker/K8s Secret)。
  • 只读根文件系统:使用 --read-only 并通过 --tmpfs /tmp 挂载临时可写目录。
  • 最小权限:运行容器时使用 --cap-drop ALL;若确实需要特定能力再最小化添加。
  • 绑定高位端口:非 root 用户不能绑定 <1024 端口,建议使用 3000 等高位端口。
  • 及时更新基础镜像:固定主版本(如 NODE_VERSION=20),并定期重建以获取安全补丁。

性能优化建议

  • 依赖安装
    • 使用 npm ci(已启用)保证可重复构建和更快安装;结合 BuildKit 缓存加速。
    • 在生产阶段剔除 devDependencies(已启用 --omit=dev)。
  • 启动与内存
    • 根据实例内存设置 NODE_OPTIONS=--max-old-space-size=,避免 OOM。
    • 使用 tini 作为 init(已启用)处理信号与僵尸进程。
  • I/O 和日志
    • 标准输出/错误打印日志,交由容器平台收集;避免在容器内写文件。
  • 镜像体积
    • 多阶段构建、仅复制必要工件,结合 .dockerignore 尽可能缩小镜像。
  • 运行时调优(示例)
    • docker run --cpus=1.0 --memory=512m --memory-swap=512m ...

常见问题排查指南

  • 容器健康检查失败
    • 确认应用实际监听端口与 PORT 一致,且存在 /healthz(或设置 HEALTHCHECK_PATH)。
    • 查看日志:docker logs api-service,排查启动报错或端口被占用。
  • 应用无法启动(找不到入口文件)
    • 你的项目若使用构建产物(如 TypeScript -> dist/index.js),请确保存在构建脚本并输出到 dist。
    • 若不使用 package.json 的 "main",请修改 Dockerfile CMD 为 ["node","dist/index.js"] 或运行时覆盖。
  • EACCES 权限问题
    • 非 root 用户对写路径受限;配合 --read-only 和 --tmpfs /tmp,为需要写入的目录额外挂载 tmpfs 或卷。
  • 原生依赖(node-gyp)构建失败或运行报错
    • 在 deps/builder 阶段补充构建依赖(如 python3, make, g++, libc6-compat 等),编译完成后仅将已编译产物带入 runtime。
  • 端口冲突或被占用
    • 修改映射端口:-p 8080:3000;确保宿主机端口未占用。

如需进一步定制(Node 版本固定到具体小版本、使用 distroless 进一步缩小镜像、或添加特定系统依赖),可告知我你的依赖与运行方式,我会给出对应优化版本。

Dockerfile完整代码

# Python batch-job image optimized for production-grade testing environment
# - Multi-stage build produces a minimal runtime image
# - Non-root user
# - Healthcheck included
# - No sensitive data baked in

########################################
# Builder stage: build wheels offline
########################################
FROM python:3.12-slim AS builder

ARG BUILD_ENV=testing
ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \
    PIP_NO_CACHE_DIR=1 \
    PYTHONDONTWRITEBYTECODE=1

# System deps needed to compile many Python packages
RUN apt-get update && apt-get install -y --no-install-recommends \
      build-essential \
      gcc \
      python3-dev \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /tmp/build
COPY requirements.txt .

# Build all deps as wheels (no cache stored in layer)
RUN pip wheel --no-deps --wheel-dir /wheels -r requirements.txt

########################################
# Runtime stage: minimal, non-root
########################################
FROM python:3.12-slim AS runtime

# OCI labels
LABEL org.opencontainers.image.title="python-batch-job" \
      org.opencontainers.image.description="Production-ready Python batch job image (testing env) with non-root user and healthcheck" \
      org.opencontainers.image.source="." \
      org.opencontainers.image.licenses="Apache-2.0"

# Base env
ENV APP_ENV=testing \
    PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PATH="/opt/venv/bin:${PATH}"

# Install lightweight init and CA certs for TLS
RUN apt-get update && apt-get install -y --no-install-recommends \
      tini \
      ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Create non-root user
RUN groupadd -g 10001 app && useradd -m -s /usr/sbin/nologin -u 10001 -g 10001 app

# Create virtualenv and install deps from built wheels
RUN python -m venv /opt/venv
COPY --from=builder /wheels /wheels
COPY --from=builder /tmp/build/requirements.txt /tmp/requirements.txt
RUN pip install --no-index --find-links=/wheels -r /tmp/requirements.txt \
    && rm -rf /wheels /tmp/requirements.txt

# App directory
WORKDIR /app
# Copy your source code into the image; ensure you have a proper .dockerignore
COPY --chown=app:app . /app

# Healthcheck (customizable)
# - If /app/healthcheck.py exists: runs it
# - Else if HEALTHCHECK_CMD is set: runs that shell command
# - Else: sanity-checks Python and optional /app/main.py presence
COPY --chown=app:app <<'SH' /opt/healthcheck.sh
#!/bin/sh
set -eu

# prefer a user-provided healthcheck script if present
if [ -f /app/healthcheck.py ]; then
  exec python /app/healthcheck.py
fi

# allow override via env
if [ -n "${HEALTHCHECK_CMD:-}" ]; then
  # shellcheck disable=SC2086
  sh -c "${HEALTHCHECK_CMD}"
  exit $?
fi

# default: verify interpreter and app entry (if file exists)
if [ -f /app/main.py ]; then
  python - <<'PY'
import importlib.util, sys
spec = importlib.util.spec_from_file_location("app_main", "/app/main.py")
sys.exit(0 if spec is not None else 1)
PY
else
  python -c "import sys; sys.exit(0)"
fi
SH
RUN chmod +x /opt/healthcheck.sh

# Optional runtime write dir for batch outputs/logs if needed
RUN mkdir -p /data && chown -R app:app /data

# Drop privileges
USER app:app

# Healthcheck for long-running batch workers.
# For short-lived one-shot jobs, you can disable at runtime with: docker run --no-healthcheck ...
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 CMD ["/opt/healthcheck.sh"]

# Use tini as ENTRYPOINT for proper signal handling and zombie reaping
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]

# Default command: print hint. Override with your actual batch command.
CMD ["python", "-c", "print('Container ready. Override CMD to run your batch job, e.g., python /app/main.py')"]

构建命令和使用说明

  • 构建镜像

    • docker build -t myorg/python-batch:testing .
  • 运行一条一次性批处理(覆盖默认 CMD)

    • docker run --rm
      --read-only
      --tmpfs /tmp:rw,nosuid,nodev
      --cap-drop ALL
      -v $PWD/data:/data
      myorg/python-batch:testing
      python /app/main.py --arg1 foo
  • 指定自定义健康检查命令(长跑任务/worker 场景)

    • docker run --rm
      -e HEALTHCHECK_CMD="python -c 'import os,sys; sys.exit(0)'"
      myorg/python-batch:testing
      python /app/worker.py
  • 对于短生命周期的一次性任务(容器很快退出),健康检查没有意义,可在运行时禁用

    • docker run --rm --no-healthcheck myorg/python-batch:testing python /app/job.py
  • Kubernetes Job 示例(简要)

    • 使用该镜像于 Job.spec.template.spec.containers[].image
    • 将命令放在 command/args 中;建议设置 securityContext.runAsUser=10001, runAsGroup=10001, readOnlyRootFilesystem=true
    • 健康检查请使用 K8s 的 liveness/readiness 探针或禁用 Docker 健康检查(K8s 不会读取镜像 HEALTHCHECK)
  • 覆盖入口命令

    • docker run --rm myorg/python-batch:testing bash -lc 'python -m module_name'
    • 或直接: docker run --rm myorg/python-batch:testing python /app/main.py
  • 使用自定义 healthcheck.py

    • 在项目根目录创建 /app/healthcheck.py(随源码一起 COPY 进镜像),返回进程状态或关键依赖就绪即退出码 0

安全注意事项

  • 非特权运行:镜像内使用 app(UID 10001) 用户,避免 root 运行
  • 不要在镜像中存储密钥/令牌/证书:
    • 将敏感信息以 Docker/K8s Secret 或环境变量/挂载文件方式注入(优先挂载文件)
  • 最小化镜像:
    • 构建依赖仅保留在 builder 阶段,运行时仅含必要运行时依赖
  • 只读根文件系统和最小权限:
    • docker run --read-only --tmpfs /tmp --cap-drop ALL
  • 供应链安全:
    • 固定 requirements.txt 版本;启用 pip hash(--require-hashes)进一步强化
    • 使用受信任源(内网 PyPI 镜像),不要在 Dockerfile 中写入认证信息
  • 网络与证书:
    • 已安装 ca-certificates,便于安全访问 TLS 端点

性能优化建议

  • 依赖构建加速:
    • 预构建内网私有 wheelhouse,缩短构建和拉取时间
    • 保持 requirements.txt 稳定以最大化 Docker 层缓存命中
  • 运行性能:
    • 设置 PYTHONUNBUFFERED=1 便于日志实时输出
    • 批处理计算密集任务可考虑多进程或原生库(numpy/pandas 的 SIMD/BLAS)
  • 镜像体积:
    • 仅使用 python:3.12-slim,并通过多阶段构建剔除编译工具链
  • I/O 与临时目录:
    • 将中间文件写入挂载卷或 /tmp(配合 --tmpfs /tmp)以减少容器层写入开销

常见问题排查指南

  • 容器一启动就退出
    • 本镜像默认 CMD 仅打印提示,请在 docker run 后追加你的任务命令,例如 python /app/main.py
  • 健康检查失败
    • 长跑任务:提供 /app/healthcheck.py 或设置 -e HEALTHCHECK_CMD="your check"
    • 一次性作业:使用 --no-healthcheck 运行或在编排层面不启用探针
  • 缺少系统库导致 pip 安装失败(在你的环境里可能出现)
    • 将所需系统库添加到 builder 阶段编译,并在 runtime 阶段添加对应运行时库(例如 libpq5、libxml2 等)
  • 权限错误(写入 /app 或 /root)
    • 使用 /data 作为可写目录,或挂载卷,保持根文件系统只读
  • 证书/网络问题(TLS)
    • 已安装 ca-certificates;若仍失败,检查代理、企业根证书是否需要挂载

如需进一步定制(特定系统库、GPU/加速、分布式执行、CI 缓存策略等),请告知你的依赖详情与运行模式。

Dockerfile完整代码

# syntax=docker/dockerfile:1.7

# -------- Build stage --------
ARG GO_VERSION=1.22
FROM golang:${GO_VERSION}-alpine AS builder

# Build-time args (customize as needed)
ARG MAIN_PACKAGE=.
ARG APP_NAME=service

WORKDIR /src

# Git is needed for go mod with VCS dependencies
RUN apk add --no-cache git

# Leverage layer caching for dependencies
COPY go.mod go.sum ./
RUN --mount=type=cache,target=/go/pkg/mod \
    go mod download && go mod verify

# Copy the rest of the source
COPY . .

# Build a static binary for minimal runtime
ARG TARGETOS
ARG TARGETARCH
RUN --mount=type=cache,target=/go/pkg/mod \
    --mount=type=cache,target=/root/.cache/go-build \
    CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-amd64} \
    go build -trimpath -ldflags="-s -w" -o /out/${APP_NAME} ${MAIN_PACKAGE}

# -------- Runtime stage --------
ARG ALPINE_VERSION=3.20
FROM alpine:${ALPINE_VERSION} AS runtime

# Create non-root user and install minimal runtime tools
# - tini: proper signal handling and zombie reaping
# - ca-certificates: TLS for outbound calls if needed
RUN addgroup -S app && adduser -S -G app -u 10001 app \
    && apk add --no-cache ca-certificates tini

WORKDIR /app

# Copy binary from builder
ARG APP_NAME=service
COPY --from=builder /out/${APP_NAME} /app/${APP_NAME}
RUN chown -R app:app /app && chmod 0755 /app/${APP_NAME}

# OCI metadata
ARG VERSION=0.0.0
ARG REVISION=unknown
ARG CREATED=unknown
LABEL org.opencontainers.image.title="${APP_NAME}" \
      org.opencontainers.image.description="Go microservice container image (staging)" \
      org.opencontainers.image.version="${VERSION}" \
      org.opencontainers.image.revision="${REVISION}" \
      org.opencontainers.image.created="${CREATED}"

# Runtime env
ENV APP_ENV=staging \
    TZ=UTC

# Expose service port (change if your service uses a different one)
EXPOSE 8080

# Healthcheck: expects GET /healthz on port 8080
# BusyBox wget is present in Alpine by default.
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
  CMD wget -qO- http://127.0.0.1:8080/healthz >/dev/null || exit 1

# Run as non-root
USER app:app

# Init and command
ENTRYPOINT ["/sbin/tini","--"]
CMD ["/app/service"]

构建命令和使用说明

  • 目录准备

    • 确保项目使用 go.mod/go.sum。
    • 如果主函数不在仓库根目录,使用 MAIN_PACKAGE 指向 main 包路径(例如 ./cmd/myservice)。
  • 构建镜像(开启 BuildKit 与缓存)

    • Linux/macOS:
      • export DOCKER_BUILDKIT=1
    • 构建命令示例:
      • docker buildx build
        --build-arg MAIN_PACKAGE=./cmd/myservice
        --build-arg APP_NAME=myservice
        --build-arg VERSION=1.3.0
        --build-arg REVISION=$(git rev-parse --short HEAD)
        --build-arg CREATED=$(date -u +%FT%TZ)
        -t your-registry/myservice:staging
        -f Dockerfile .
  • 运行容器(建议的安全与资源设置)

    • docker run -d --name myservice
      -p 8080:8080
      --read-only
      --tmpfs /tmp:rw,noexec,nosuid,size=64m
      --cap-drop ALL
      --security-opt no-new-privileges
      --ulimit nofile=4096:4096
      your-registry/myservice:staging
  • 运行前提

    • 服务需监听 0.0.0.0:8080 并提供 /healthz 健康检查端点。如端口或路径不同,请同步修改 Dockerfile 的 EXPOSE 与 HEALTHCHECK。
  • 推荐 .dockerignore(示例)

    • .git
    • .github
    • node_modules
    • vendor
    • tmp
    • dist
    • build
    • .env
    • *.md
    • .DS_Store

安全注意事项

  • 非特权运行:镜像已使用 app 用户(UID 10001),严禁用 root 启动应用。
  • 不要在镜像中存储密钥、令牌等敏感信息,改用:
    • 运行时注入环境变量或文件挂载
    • docker build --secret / BuildKit secrets 机制用于构建期的私有模块访问
  • 最小权限原则:
    • 运行时加上 --cap-drop ALL 和 --security-opt no-new-privileges
    • 如需写临时文件,使用 --read-only 配合 --tmpfs /tmp
  • 依赖完整性:
    • 通过 go mod verify 校验依赖,必要时配置 GOPRIVATE/GONOSUMDB 控制私有模块校验
  • 出站 TLS:
    • 已包含 ca-certificates,若禁用 TLS 可移除以进一步减小体积(不推荐在生产环境禁用 TLS)

性能优化建议

  • Go 二进制优化:
    • 已使用 -trimpath 与 -ldflags "-s -w" 减少体积
    • CGO_ENABLED=0 以获得更小更可移植的静态二进制
  • 运行时参数:
    • 根据容器 CPU/内存限制动态调整:
      • 可设置 GOMAXPROCS(若你的服务未自动检测 CPU)
      • 可设置 GOMEMLIMIT 与 GOGC 以控制内存占用
  • 网络与启动:
    • 使用 tini 处理信号,确保优雅退出,降低僵尸进程风险
    • 如果是高并发 HTTP 服务,应用内部可调优连接池、超时时间、压缩等
  • 镜像与分层:
    • 依赖下载与源码分层分离,命中缓存更稳定
    • 若无 HTTPS 出站需求,可删除 ca-certificates 以节省体积
  • 观测与日志:
    • 将日志输出到 stdout/stderr,便于接入容器平台日志系统
    • 在 Kubernetes 中结合 liveness/readiness probes 替代/配合镜像内 Healthcheck

常见问题排查指南

  • 健康检查失败

    • 检查服务是否监听 0.0.0.0:8080
    • 确认提供 /healthz 路径;若不同,请同步修改 HEALTHCHECK
    • 容器内测试:docker exec -it wget -qO- 127.0.0.1:8080/healthz
  • 私有模块拉取失败(构建期)

    • 配置 GOPRIVATE/GONOSUMDB 环境变量
    • 使用 BuildKit Secret 注入凭证(例如 SSH key 或 token),避免写入镜像层
    • 确保构建节点具备外网与私仓访问
  • 二进制启动报错 “no such file or directory”

    • 确认 CMD 与 APP_NAME 一致
    • 确保目标 main 包路径正确(MAIN_PACKAGE)
  • 需要 CGO 或系统依赖

    • 将 builder 阶段设置 CGO_ENABLED=1,并安装必要的构建依赖(apk add build-base)
    • 运行时改用非静态底座(如 alpine + 对应动态库),并保留健康检查
  • 端口被占用或服务不通

    • 修改 EXPOSE 与运行时 -p 端口映射
    • 宿主机防火墙或平台网络策略(SecurityGroup/NetworkPolicy)检查

如果你能提供应用的主包路径、实际监听端口与健康检查路径,我可以进一步为你定制化 Dockerfile 的 CMD/EXPOSE/HEALTHCHECK。

示例详情

📖 如何使用

30秒出活:复制 → 粘贴 → 搞定
与其花几十分钟和AI聊天、试错,不如直接复制这些经过千人验证的模板,修改几个 {{变量}} 就能立刻获得专业级输出。省下来的时间,足够你轻松享受两杯咖啡!
加载中...
💬 不会填参数?让 AI 反过来问你
不确定变量该填什么?一键转为对话模式,AI 会像资深顾问一样逐步引导你,问几个问题就能自动生成完美匹配你需求的定制结果。零门槛,开口就行。
转为对话模式
🚀 告别复制粘贴,Chat 里直接调用
无需切换,输入 / 唤醒 8000+ 专家级提示词。 插件将全站提示词库深度集成于 Chat 输入框。基于当前对话语境,系统智能推荐最契合的 Prompt 并自动完成参数化,让海量资源触手可及,从此彻底告别"手动搬运"。
即将推出
🔌 接口一调,提示词自己会进化
手动跑一次还行,跑一百次呢?通过 API 接口动态注入变量,接入批量评价引擎,让程序自动迭代出更高质量的提示词方案。Prompt 会自己进化,你只管收结果。
发布 API
🤖 一键变成你的专属 Agent 应用
不想每次都配参数?把这条提示词直接发布成独立 Agent,内嵌图片生成、参数优化等工具,分享链接就能用。给团队或客户一个"开箱即用"的完整方案。
创建 Agent

✅ 特性总结

根据应用类型与依赖方式,轻松生成生产级Dockerfile,显著缩短容器化起步时间。
多阶段构建与分层优化自动启用,瘦身镜像体积,拉取更快、启动更稳。
默认非特权运行与健康检查一键固化,安全基线即刻生效,降低合规与运维风险。
自动识别缓存与构建产物,按需加速安装与编译,持续集成流程更顺滑。
覆盖Node.js、Python、Java、Go等主流技术栈,模板化适配多环境部署场景。
同步输出构建命令与启动指引,新同学也能复现一致结果,减少沟通与踩坑。
内置安全注意事项与漏洞防护清单,避免秘钥写入镜像与弱配置上线。
提供性能调优与资源建议,轻松设定并发、日志与探活策略,提升服务稳定性。
附带常见问题排查路径,快速定位构建失败与运行异常,缩短问题修复时长。
参数化配置沉淀为团队规范,一键复用标准模板,标准化交付与持续改进并行。

🎯 解决的问题

用最少的信息,快速生成可直接上线的 Dockerfile 与配套说明,帮助后端、DevOps 与全栈团队在几分钟内完成标准化容器化:自动匹配不同语言与依赖方式,默认内置安全与性能最佳实践(非特权运行、健康检查、最小镜像、不落地敏感信息),并输出构建命令、注意事项、优化建议和排障指南。典型收益:镜像体积减少30%–70%,构建更快、风险更低、协作更顺畅,适用于新项目启动、存量应用改造与CI/CD接入前的规范统一。

🕒 版本历史

当前版本
v2.1 2024-01-15
优化输出结构,增强情节连贯性
  • ✨ 新增章节节奏控制参数
  • 🔧 优化人物关系描述逻辑
  • 📝 改进主题深化引导语
  • 🎯 增强情节转折点设计
v2.0 2023-12-20
重构提示词架构,提升生成质量
  • 🚀 全新的提示词结构设计
  • 📊 增加输出格式化选项
  • 💡 优化角色塑造引导
v1.5 2023-11-10
修复已知问题,提升稳定性
  • 🐛 修复长文本处理bug
  • ⚡ 提升响应速度
v1.0 2023-10-01
首次发布
  • 🎉 初始版本上线
COMING SOON
版本历史追踪,即将启航
记录每一次提示词的进化与升级,敬请期待。

💬 用户评价

4.8
⭐⭐⭐⭐⭐
基于 28 条评价
5星
85%
4星
12%
3星
3%
👤
电商运营 - 张先生
⭐⭐⭐⭐⭐ 2025-01-15
双十一用这个提示词生成了20多张海报,效果非常好!点击率提升了35%,节省了大量设计时间。参数调整很灵活,能快速适配不同节日。
效果好 节省时间
👤
品牌设计师 - 李女士
⭐⭐⭐⭐⭐ 2025-01-10
作为设计师,这个提示词帮我快速生成创意方向,大大提升了工作效率。生成的海报氛围感很强,稍作调整就能直接使用。
创意好 专业
COMING SOON
用户评价与反馈系统,即将上线
倾听真实反馈,在这里留下您的使用心得,敬请期待。
加载中...
📋
提示词复制
在当前页面填写参数后直接复制: