微信扫码
添加专属顾问
我要投稿
Docker 团队正在探索 AI 的应用[1],本期介绍的主要内容是 AI 生成 Dockerfile 的探讨,文中示例是基于 Node.js 项目。
当我们让 ChatGPT 为你的项目写一个 Dockerfile 时,它会与你进行对话,要求你提供项目的某些详细信息。
如下图所示,因为我这个近期问 ChatGPT Node.js 相关问题多些,因此 ChatGPT 也推断出了是 Node.js 类项目,但如果是需要为一个其它语言的项目写 Dockerfile 呢?
Docker 团队提出,我们也可以为助手配备一个工具,直接从项目中提取这些信息,而不是询问用户。
一种替代方案为:每当助手被要求创建 Dockerfile 时,给它两个高层次的指示:
此外,还为 LLM 提供了两个函数定义[2]:
[
{
"name": "analyze_project",
"description": "Analyze a project to determine how it should be built"
},
{
"name": "write_files",
"description": "write a set of files to my project",
"parameters": {
"...": "..."
}
}
]
通过这两个功能,助手可以直接在用户的项目中写入 Dockerfile。然而,如果没有最佳实践,实际生成的 Dockerfile 内容可能不会很理想。
为了改善生成的 Dockerfile 内容,Docker 团队提取了一些为 Node.js 项目编写 Dockerfile 的最佳实践。例如,使用 3 个阶段 "deps"
、"build"
、Scout
。
以下为 Docker 团队助手生成的 Dockerfile 内容
# Stage 1 - Downloading dependencies
FROM node:22-slim AS deps # 选择基础镜像时,获取推荐的标签
WORKDIR /usr/src/app
COPY package*.json ./
RUN --mount=type=cache,target=/root/.npm npm ci --omit=dev
# Stage 2 - Building application
FROM deps AS build
RUN --mount=type=cache,target=/root/.npm npm ci && npm build
# Stage 3 - Using a recommended base image from Scout
FROM node:22-slim
WORKDIR /usr/src/app
COPY --from=deps /usr/src/app/node_modules ./node_modules
COPY --from=build /usr/src/app/dist ./dist
CMD [ "npm", "start" ]
AI 时代,大家都在探索相关的应用场景。Docker 团队也在探索让生成式 AI 助手提高生成 Dockerfile 内容的能力,期待这个小助手能早日来临,实现根据项目自动分析来生成一份最佳实践的 Dockerfile。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-07-03
模型微调是啥?有哪些方法?小白也能看懂的通俗讲解
2025-07-01
spaCy中文分句模型微调秘籍,从数据准备到模型评测,一学就会!
2025-06-26
深入理解大模型微调,LoRA超参数指南
2025-06-21
【大模型微调】5.调参经验总结与显存占用因素探究
2025-06-20
大模型微调,为什么99%的企业都不应该碰这个坑?
2025-06-17
手把手教你用LLaMA-Factory微调Qwen3大模型
2025-06-17
万不得已,不要对 LLM 进行微调?
2025-06-15
AI 彻底摆脱人类!Anthropic让模型自己微调自己,左脚踩右脚要上天……
2025-04-30
2025-04-19
2025-04-16
2025-04-16
2025-04-20
2025-05-26
2025-04-20
2025-04-19
2025-05-07
2025-04-20