首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从零开始在Ubuntu上快速部署Docker和Dify:结合 Dify + 蓝耘 MaaS平台打造 AI 应用实战指南

从零开始在Ubuntu上快速部署Docker和Dify:结合 Dify + 蓝耘 MaaS平台打造 AI 应用实战指南

原创
作者头像
Lethehong
发布2025-09-02 10:56:39
发布2025-09-02 10:56:39
4451
举报
文章被收录于专栏:热度文章热度文章

引言

在人工智能应用快速发展的今天,如何高效部署 AI 应用并灵活调用不同的大模型能力,已经成为开发者和企业的核心需求之一。本文将详细介绍如何在 Ubuntu 环境中借助 阿里云镜像源快速安装 Docker 与 Docker Compose,并完成 Dify 智能应用平台的部署与配置。通过引入 蓝耘 MaaS 平台提供的 API 接口,我们不仅可以快速接入大规模语言模型,还能基于 Dify 构建属于自己的 AI 应用,极大地提升开发效率与使用体验。

一、借助阿里云源安装Docker和Compose

安装必要依赖

apt update

apt install -y ca-certificates curl gnupg lsb-release

添加阿里云 Docker GPG 密钥

mkdir -p /etc/apt/keyrings

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

写入阿里云 Docker 软件源

echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker 及 Compose 插件

apt update

apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证安装

docker -vdocker compose version

二、拉取并部署Dify

安装SSH服务

apt updateapt install openssh-server -y

查看SSH运行状态(成功)

systemctl status ssh

可以在电脑浏览器访问并下载:

👉 https://github.com/langgenius/dify/archive/refs/heads/main.zip

这里我在本地下载好了zip通过CRT上传到了Ubuntu里面

在Ubuntu里面也能看到了

解压ZIP

这里是将压缩包移动到了指定的文件夹里面后进行的解压,这样会避免很多不必要的麻烦(大家一定要看清文件路径)

unzip dify-main.zipcd dify-main/docker

这里进入的是docker子目录,里面才有docker-compose.yml 配置文件

三、启动Dify服务

这里需要确保我们在docker/目录下进行,然后输入:

docker compose up -d

这里我在检查docker运行状态和网络都没有问题之后,决定更换源试一下

开启科学上网后

然后重新运行(这里可能时间较久)

docker-compose up -d

关于网络问题这里补充一下遇到这个错误"Get 'https://registry-1.docker.io/v2/': net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"的解决办法网络连接问题:确保自己的网络是否能访问互联网,尝试ping一下即可。镜像源访问受限:可以尝试更换为国内镜像源,配置镜像加速器。 增加请求超时时间:可以尝试增加 Docker 的默认超时时间,以避免超时错误。 代理设置:如果使用了代理,确保代理配置正确,或者尝试删除代理设置。

成功拉取并启动如下

遇到这个错误,重新输入启动命令即可(下载时间过长导致的)

ERROR: Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout

四、初始化 Dify 管理员账号

在浏览器打开:

http://你的Ubuntu主机IP/install

五、安装模型供应商插件

在 Dify 后台操作界面中:

点击右上角头像 → 插件 → Marketplace

安装自己需要的插件

前往“设置 → 模型供应商”,找到OpenAI-API-compatible,然后配置 API Key 与地址以及相关配置信息即可

Dify 不自带模型,必须配置好至少一个 LLM 才能进行智能问答。

六、构建 AI 应用示例

在主界面点击“创建空白应用”,名字为文章生成器

这里添加一个HTTP请求,在API选择POST请求并输入https://maas-api.lanyun.net/v1/chat/completions

配置Headers(请求头):

请求头1:Name(Content-Type),Value(application/json

请求头2:Name(Authorization),Value(Bearer 蓝耘MaaS平台的APIKEY

配置Body(请求体):

{ "model": "/maas/deepseek-ai/DeepSeek-V3.1", "messages": [ { "role": "system", "content": "你是一个专业的内容创作助手,擅长根据用户需求创作高质量文章。" }, { "role": "user", "content": "请根据以下要求创作文章:\n主题:{{ $json.topic }}\n写作风格:{{ $json.style }}\n文章长度:{{ $json.length }}\n关键词:{{ $json.keywords }}\n\n请创作一篇结构清晰、内容丰富的文章。" } ], "max_tokens": 2000, "temperature": 0.7}

然后进行测试,没有问题,文章出来了

这里格式还是不太行,我想输出Markdown格式,于是我开始调整,这个里面添加模版转换节点,然后输入:

// 获取处理后的数据const items = $input.all();const processedData = items[0].json;// 生成 Markdown 内容const markdownContent = `# ${processedData.metadata.title}---**创建时间:** ${new Date(processedData.metadata.createdAt).toLocaleString('zh-CN')} **字数统计:** ${processedData.metadata.wordCount} 字符 **文章风格:** ${processedData.metadata.style} ---## 正文内容${processedData.content}---## 文档信息- **生成时间:** ${new Date().toLocaleString('zh-CN')}- **文件格式:** Markdown (.md)- **处理状态:** 已完成内容格式化和优化---*本文档由 n8n 工作流自动生成*`;// 生成文件名(使用时间戳避免重复)const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);const fileName = `${processedData.metadata.title.replace(/[^\w\u4e00-\u9fa5]/g, '_')}_${timestamp}.md`;// 打印下载信息console.log(`📁 Markdown 文件已准备完成`);console.log(`📄 文件名:${fileName}`);console.log(`📊 文件大小:${markdownContent.length} 字符`);// 返回可下载的文件数据return [{ json: { ...processedData, markdown: { content: markdownContent, fileName: fileName, mimeType: 'text/markdown', size: markdownContent.length } }, binary: { data: { data: Buffer.from(markdownContent, 'utf8').toString('base64'), mimeType: 'text/markdown', fileName: fileName, fileExtension: 'md' } }}];

这里图片中显示内容没有问题的哈,但是无法分辨是否是按照Markdown格式输出

于是我将内容复制出来,使用在线工具进行查看,发现确实是按照Markdown格式输出。

整体的配置还是很简单,完整的工作流如下:

总结

通过结合Dify + 蓝耘 MaaS API,我们能够以极低的门槛实现 AI 应用的开发与部署,为内容创作、智能问答、数据分析等场景提供更强大的能力和更高的效率。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 一、借助阿里云源安装Docker和Compose
  • 二、拉取并部署Dify
  • 三、启动Dify服务
  • 四、初始化 Dify 管理员账号
  • 五、安装模型供应商插件
  • 六、构建 AI 应用示例
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档