用 ChatGPT 写 Dockerfile、看懂 Docker 报错:说明技术栈和日志,镜像先在本地构建验证,附 4 段可复制提示词

怎么用 ChatGPT 写 Dockerfile、docker-compose、看懂 Docker 构建和运行报错?把项目类型、依赖、端口和完整日志给它,让它写配置并解释原因。本文给 4 段提示词,强调密钥不要写进镜像、基础镜像版本和命令要对照官方文档核对。

NNathaniel bigo··原创首发·AI 辅助撰写
5 分钟读完
资料核对于 2026-11-05 · 依据官方文档与公开资料整理 免费账号 账号
本文根据 OpenAI Academy《Prompting》、帮助中心《Working with writing blocks and code blocks in ChatGPT》整理,资料核对于 2026-11-05。配图为本站整理的示意图,不是界面截图。本站(bigolab.com)不是 OpenAI 官方网站。官方没有专门的「Docker」文章,提示词是本站示范。

适用于谁

  • 想把自己的项目打成镜像、用 Docker 部署的开发者;
  • 会用别人的镜像,但不会自己写 Dockerfile 或 compose 文件的人;
  • 构建失败、容器一启动就退出,看不懂日志的人。

结论先说

  1. 把项目信息说全。 语言和版本、依赖文件、启动命令、监听端口、需要的环境变量、数据要不要持久化。信息少,它只能给通用模板。
  2. 让它解释每一行。 特别是基础镜像、COPY、RUN、CMD 的顺序,会影响构建速度和镜像大小。
  3. 密钥不要写进镜像。 密码、API Key 通过环境变量或密钥管理传入,不要写进 Dockerfile 或提交到仓库。也别把真实密钥贴进对话。
  4. 先本地构建验证。 在本机跑通再上服务器;生产环境的操作先备份、留回滚方案。
  5. 报错贴完整日志。 从出错的那一步往前多贴几行。

用 ChatGPT 写 Dockerfile 的流程:说明技术栈和端口、生成配置并解释、本地构建、贴日志排错、再上线

图:本站根据 OpenAI Academy:Prompting 整理的示意图

一、4 段可以直接复制的提示词

1. 写 Dockerfile

请为下面的项目写 Dockerfile。
项目:[Node.js 20 的后端服务],依赖文件 [package.json、package-lock.json],构建命令 [npm run build],启动命令 [node dist/server.js],监听端口 [3000]。
要求:使用多阶段构建以减小镜像;先复制依赖文件再安装,以便利用缓存;不要以 root 运行;不要在镜像里写任何密钥,环境变量在运行时传入。
请逐行加注释,并说明基础镜像版本我应该去哪里确认。

2. 写 docker-compose

请写 docker-compose.yml:服务一是上面的应用,服务二是 [PostgreSQL],数据要持久化到卷;应用通过环境变量读取数据库地址,密码从 .env 文件读取(不要写真实值,用占位符);数据库启动后应用再启动。
请说明每个字段的作用,以及如何验证两个服务都正常。

3. 解释构建或运行报错

我执行 [docker build -t myapp .],在第 [N] 步失败,日志如下:
[粘贴完整日志]
Dockerfile:[粘贴]
请先解释失败原因,再给出修改后的片段,并说明改动为什么能解决问题。如果需要我提供更多信息(如目录结构),先问我。

4. 容器一启动就退出

容器启动后马上退出。docker logs 的输出:[粘贴]。启动命令:[粘贴]。
请列出最可能的 3 个原因,每个说明怎么验证,不要让我删除数据卷或镜像,除非先说明后果。

通用写法见 /guides/how-to-write-prompts。

二、自己必须核对什么

Docker 配置上线前自己要核对的清单:基础镜像版本、密钥不入镜像、端口与卷、本地构建通过、回滚方案

图:本站根据 OpenAI Academy:Prompting 整理的示意图

  • 基础镜像:标签是否存在、是否是你信任的官方镜像,到镜像仓库页面确认;
  • 指令用法:不确定的指令、参数,对照 Docker 官方文档;
  • 密钥与隐私:.env、私钥有没有被 COPY 进镜像;日志贴出前先打码,见 /guides/ai-privacy-data-safety-checklist;
  • 端口和卷:端口映射、数据卷路径是否正确,数据是否会随容器删除而丢失;
  • 删除类命令:清理镜像、卷、容器的命令,先确认范围;
  • 服务器资源:构建镜像可能占用大量内存和磁盘,生产机上先看资源;
  • 回滚:保留上一个可用镜像标签。

常见问题

Q:本地能跑,服务器上不行?

把两边的系统架构、环境变量、网络访问条件对比后贴给它,让它列出差异点。

Q:它写的配置里有我不认识的参数?

让它逐个解释,仍不确定就查官方文档,不要先上线。

Q:有现成的部署教程可以参考吗?

可以看用 Docker Compose 部署具体应用的例子,如 /guides/dify-docker-compose-self-host。

Q:免费版够用吗?

够用;长日志和多轮调试可能遇到使用限制,可以看看 /chongzhi/chatgpt-plus。

参考资料

  • OpenAI Academy:Prompting — https://openai.com/academy/prompting/
  • OpenAI 帮助中心:Working with writing blocks and code blocks in ChatGPT — https://help.openai.com/en/articles/20001246-working-with-writing-blocks-and-code-blocks-in-chatgpt

Nathaniel 的更多内容

  1. 01

    Claude Code 在 Windows 上的常见坑:Git Bash 还是 PowerShell、路径反斜杠、假报错、WSL 怎么选

    Windows 上用 Claude Code,装好之后最容易踩的是:用哪个 shell、路径写法不一致、grep 没匹配就报错、钩子没生效、WSL 和原生怎么选。本文逐条按官方文档整理原因和处理办法,附三段提示词和一张对照表。

    Claude0
  2. 02

    Claude Code Hooks 实战「提交前自动跑测试」:PreToolUse 拦住 git commit,测试不过就退出码 2,附 Windows 注意点

    只写一个完整例子:让 Claude Code 每次要执行 git commit 之前,先自动跑项目测试,没通过就拦下并把输出交给它修。本文按官方 Hooks 文档给出脚本、settings.json 配置、测试方法、排错和 Windows 的两处坑。

    Claude0
  3. 03

    Claude Code 自定义斜杠命令与 Skill 实战:从零写一个「生成更新日志」的 /release-notes,含传参、预执行命令和调试

    概念看过了,还是不知道从哪下手?本文按 Claude Code 官方「Extend Claude with skills」写一个完整可用的例子:用 /release-notes 根据 git 记录生成更新日志,覆盖目录、frontmatter、传参、预执行命令、预授权和调试。

    Claude0
  4. 04

    Claude Code 部署网站:先写 Dockerfile 和 compose 在本机跑通,再按清单上云服务器,别让它直接改线上

    想让 Claude Code 帮你把网站部署到云服务器。本文只写通用做法,按 Docker 官方文档讲:让它写 Dockerfile、.dockerignore 和 compose,在本机跑通,端口和数据卷怎么设,再给出上线清单,并说明为什么不要让它直接动线上机器。

    Claude0
  5. 05

    Claude Code 写爬虫与数据清洗:先查 robots.txt 和网站条款,控制频率,原始数据留一份再清洗

    想让 Claude Code 写爬虫抓数据再清洗。本文先讲合规:robots.txt 不是授权也不是安全措施、网站条款要自己读;再讲怎么用 Python 标准库检查规则、小样本先试、保存原始数据,以及用 pandas 清洗,附四段提示词。

    Claude0
  6. 06

    Claude Code 写 Chrome 扩展:按 Manifest V3 起步,加载未打包的扩展,改了哪些文件要重新加载

    想让 Claude Code 帮你写一个 Chrome 扩展。本文按 Chrome 官方扩展文档讲:manifest.json 的最小写法、在 chrome://extensions 加载未打包的扩展、哪些改动要刷新、怎么看控制台和报错,再给四段提示词,以及权限要尽量少。

    Claude0

同产品的其他教程

  1. 01

    OpenAI API 的 token 怎么算、怎么估算费用:input_tokens 计数接口、tiktoken 和隐藏的输出 token

    发请求前想知道会用多少 token?官方有 Responses 的 input_tokens 计数接口,能把文字、图片、文件、工具定义一起算准;本地 tiktoken 只适合纯文本。本文给 Python 和 Node 示例,讲输出 token 为什么可能比看到的多,以及怎么估算费用。

    ChatGPT0
  2. 02

    OpenAI API Node.js / TypeScript 快速上手:npm install openai、example.mjs 第一个请求,到流式、函数调用、联网搜索

    用 Node.js 调 OpenAI API:设置 OPENAI_API_KEY 环境变量,npm install openai,新建 example.mjs,用 client.responses.create 发出第一个请求。并列出图片、文件、流式、函数调用、联网搜索和错误捕获的 Node 写法。

    ChatGPT0
  3. 03

    OpenAI API 用量层级(usage tiers)与速率限制怎么提升:Free、Build、Launch、Grow 和后台 Limits 页

    OpenAI API 的限速不是固定的:官方按累计购买额度把组织分成 Free、Build、Launch、Grow 四个层级,达到门槛自动升级。本文讲 RPM、TPM 等指标、怎么在后台查自己的限额、响应头怎么读、花费上限和限速的区别,以及怎么让限额变得够用。

    ChatGPT0
  4. 04

    OpenAI API 报错 400、401、403、404、429、500、503 怎么排查:按官方错误码页逐个看原因和解决办法

    调用 OpenAI API 返回 400、401、403、404、429、500、503,各自什么意思?本文按官方 Error codes 页,每个状态码一节,写清官方给的原因和解决办法,并说明 404 在官方页面里的位置、429 的六种情形,附 Python 和 Node 的错误捕获写法。

    ChatGPT0
  5. 05

    OpenAI Realtime API 是什么:语音到语音会话、WebRTC 与 WebSocket、临时密钥和事件机制

    Realtime API 让模型直接处理音频,做可以随时打断的语音助手。本文按官方文档讲它是什么、什么时候用、浏览器接入的流程、session 与事件、可用声音、60 分钟会话上限、安全标识,以及它和转写、文字转语音的分工。

    ChatGPT0
  6. 06

    OpenAI 图像生成 API 怎么用:gpt-image 系列、images.generate 与 Responses 工具、尺寸质量和遮罩编辑

    用 OpenAI API 生成或编辑图片,有 Image API 和 Responses 里的 image_generation 工具两条路。本文按官方文档给 Python 和 Node 示例,讲 gpt-image 模型选择、尺寸质量格式参数、遮罩编辑、被拦截时的错误处理,以及需要组织验证的提醒。

    ChatGPT0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~