当前位置:网站首页 > 远程管理与协作 > 正文

【LLM】Linux系统Docker搭建Dify平台并实现远程构建生成式AI应用_怎么搭建docker远程开发环境

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨


前言

本文主要介绍如何在 Linux Ubuntu 系统使用 Docker 快速部署大语言模型应用开发平台 Dify,并结合 cpolar 内网穿透工具实现公网环境远程访问本地 Dify 服务!

Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

Dify 是开源的,且支持自部署到本地自己服务器上,打造自己的 AI 系统应用,由于本地部署后,本地部署限制只能在本地访问,无法实现共享给他人访问,或者自己远程访问,这个时候,要么需要自己有云服务器,或者公网 IP,否则无法进行远程访问,但是,如果既没有云服务器和公网 IP,我们也想要实现远程访问呢,那么下面介绍一个内网穿透工具,让我们无公网 IP 无云服务器也可以实现远程访问本地 Dify.

本例采用 Docker 部署,首先设备需要提前安装好 Docker 和 Docker compos,如没有安装,可以参考 docker 官方教程进行安装:Docker 官方安装教程

1. Docker 部署 Dify

根据官方部署文档,我们克隆官方的 docker 文件进行部署,首先进入到 local 目录下,执行cd /usr/local,然后执行下面命令克隆下来

sudo git clone https://github.com/langgenius/dify.git 

等待拉取完成后,可以看到有个 dify 文件夹,表示成功拉取下来了

image-20240402123640693

然后我们进入 dify 文件夹里的 docker 目录

cd /dify/docker 

然后执行 docker 命令部署运行 dify,执行后等待部署完成

sudo docker compose up -d 

docker 部署运行完成后,我们输入指令sudo docker ps即可看到运行的容器,其中在运行的容器列表可以看到有个 nginx 的容器,且对外访问的是 80 端口,这个就是我们外部访问的端口,下面我们进行本地访问测试

image-20240402124022891

2. 本地访问 Dify

上面在 docker 中成功部署且运行后,接下来进行本地访问,上面我们查看到对外访问端口是 80,现在我们在外部或者内部访问 ubuntu 的 80 端口,即可看到我们本地部署的 Dify 服务应用,本地访问表示成功了,首次访问需要创建账号!

image-20240402124326533

创建后我们即可成功登录到 dify 了,具体 dify 使用方法可以参考 dify 官方文档.本地访问成功后,下面设置远程也可以访问,下面首先安装 cpolar 内网穿透工具

image-20240402124451695

3. Ubuntu 安装 Cpolar

上面在本地 Docker 中成功部署了 Dify 服务,并局域网访问成功,下面我们在 Linux 安装 Cpolar 内网穿透工具,通过 Cpolar 转发本地端口映射的 http 公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装 cpolar 步骤

cpolar 官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash 
  • 安装完成后,可以通过如下方式来操作 cpolar 服务,首先执行加入系统服务设置开机启动,然后再启动服务
# 加入系统服务设置开机启动 sudo systemctl enable cpolar # 启动cpolar服务 sudo systemctl start cpolar # 重启cpolar服务 sudo systemctl restart cpolar # 查看cpolar服务状态 sudo systemctl status cpolar # 停止cpolar服务 sudo systemctl stop cpolar 

Cpolar 安装和成功启动服务后,内部或外部浏览器上通过局域网 IP 加 9200 端口即:【http://192.168.xxx.xxx:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在 web 界面配置即可

image-20240220142041422

4. 配置公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个 dify 的公网 http 地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择 http
  • 本地地址:80 (docker 部署后对外访问的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择 China

点击创建

image-20240402125057790

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是 http 和 https,两种都可以访问,下面选择其中一种进行远程访问

image-20240402125148467

5. 远程访问

使用上面 Cpolar 生成的 https 公网地址,在任意设备的浏览器进行访问,即可成功看到我们 dify 的界面,极大的缩小了云服务器那些繁琐的配置,简单几步即可实现无需云服务器,无需公网 IP 实现远程访问.

image-20240402125353756

小结

为了更好地演示,我们在前述过程中使用了 cpolar 生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在 24 小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:dify.cpolar.cn),这样更显正式,便于流交协作。

6. 固定 Cpolar 公网地址

由于以上使用 cpolar 所创建的隧道使用的是随机公网地址,24 小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn 已备案】

注意需要将 cpolar 套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn 已备案】

登录 cpolar 官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20240402125524133

保留成功后复制保留成功的二级子域名的名称

image-20240402125550749

返回登录 cpolar web UI 管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20240402125615192

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240402125642716

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址二级名称变成了我们自己设置的二级子域名名称

image-20240402125726835

7. 固定地址访问

最后,我们使用固定的公网 https 地址访问,可以看到同样访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以在公网环境远程访问本地 dify 服务,无需公网 IP,无需云服务器!

image-20240402125808004

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

到此这篇【LLM】Linux系统Docker搭建Dify平台并实现远程构建生成式AI应用_怎么搭建docker远程开发环境的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 云电脑火爆出圈,如何选择和使用?--腾讯云、ToDesk云电脑、青椒云使用评测和攻略_云电脑如何使用2024-10-30 19:33:12
  • Git基本使用(很详细)_git基本用法2024-10-30 19:33:12
  • 半导体通信 -- SECS/GEM是什么?_半导体协议secs gem2024-10-30 19:33:12
  • 远程控制软件安全吗?一文看懂ToDesk、RayLink、TeamViewer、Splashtop相关安全机制_远程控制电脑安全吗2024-10-30 19:33:12
  • 开源数据库设计工具DrawDB本地部署与远程访问详细教程_数据库 开源2024-10-30 19:33:12
  • 本地安装Nexus仓库管理工具详细流程并实现远程访问管理界面_nexus仓库配置2024-10-30 19:33:12
  • ONLYOFFICE8.1版本桌面编辑器测评_onlyoffice在线编辑2024-10-30 19:33:12
  • 微服务架构Spring Cloud概述和基本讲解_微服务架构springcloud spring boot2024-10-30 19:33:12
  • 【腾讯云 Cloud Studio 实战训练营】通过云IDE构建Web3项目_腾讯云云开发cloudbase2024-10-30 19:33:12
  • 惠普战99移动工作站: 第十三代英特尔酷睿处理器和惠普一站式AI应用开发方案的完美融合_惠普战99和联想拯救者哪个好2024-10-30 19:33:12
  • 全屏图片