使用Docker部署ollama和MaxKB全過程
步驟1:配置Ollama網(wǎng)絡(luò)環(huán)境
確保Ollama監(jiān)聽外部請(qǐng)求
默認(rèn)情況下,Ollama僅監(jiān)聽 127.0.0.1:11434
。需修改環(huán)境變量使其監(jiān)聽所有IP:
# 啟動(dòng)Ollama容器時(shí)添加環(huán)境變量 docker run -d --name ollama \ -p 11434:11434 \ -e OLLAMA_HOST=0.0.0.0 \ # 允許外部訪問 ollama/ollama
驗(yàn)證Ollama服務(wù)狀態(tài)
在宿主機(jī)執(zhí)行以下命令,確認(rèn)API可訪問:
curl http://localhost:11434
若返回 Ollama is running
則正常。
步驟2:配置MaxKB連接Ollama
啟動(dòng)MaxKB容器并加入Ollama網(wǎng)絡(luò)
使用 --network
參數(shù)讓兩個(gè)容器共享網(wǎng)絡(luò):
docker run -d --name maxkb \ --network container:ollama \ # 共享Ollama的網(wǎng)絡(luò)命名空間 -p 8080:8080 \ -v ~/.maxkb:/var/lib/postgresql/data \ cr2.fit2cloud.com/1panel/maxkb
或通過Docker內(nèi)部DNS通信
若未共享網(wǎng)絡(luò),在MaxKB容器內(nèi)使用 Ollama容器名稱 作為域名:
# 啟動(dòng)MaxKB時(shí)指定Ollama容器網(wǎng)絡(luò) docker run -d --name maxkb \ --network my_network \ # 創(chuàng)建自定義網(wǎng)絡(luò)后加入 -p 8080:8080 \ -v ~/.maxkb:/var/lib/postgresql/data \ cr2.fit2cloud.com/1panel/maxkb
步驟3:在MaxKB中添加Ollama模型
登錄MaxKB界面
訪問 http://localhost:8080
,使用初始賬號(hào) admin/maxkb@123…
登錄。
添加Ollama模型
- 模型類型:選擇
Ollama
- API域名:填寫
http://ollama:11434
(若共享網(wǎng)絡(luò))或http://宿主機(jī)IP:11434
- 模型名稱:與
ollama list
中的模型名完全一致(如llama3:8b
) - API Key:任意非空字符(如
dummy
)
驗(yàn)證連接
點(diǎn)擊 測(cè)試連接
,若顯示成功即可保存。
步驟4:創(chuàng)建知識(shí)庫(kù)并關(guān)聯(lián)模型
創(chuàng)建知識(shí)庫(kù)
上傳文檔(支持PDF/TXT/Markdown等),選擇智能分段并導(dǎo)入。
創(chuàng)建應(yīng)用
在應(yīng)用中關(guān)聯(lián)知識(shí)庫(kù)和Ollama模型,調(diào)整參數(shù)(如溫度、重復(fù)懲罰等)。
測(cè)試問答
在應(yīng)用界面提問,觀察是否基于知識(shí)庫(kù)生成答案。
常見問題解決
API域名無效
- 確認(rèn)Ollama容器IP和端口可訪問:
curl http://ollama:11434
- 檢查防火墻是否開放
11434
端口。
模型無法加載
- 確保模型名稱與
ollama list
完全一致(區(qū)分大小寫)。 - 若模型未下載,在Ollama容器內(nèi)執(zhí)行
ollama pull 模型名
。
跨容器網(wǎng)絡(luò)不通
創(chuàng)建自定義Docker網(wǎng)絡(luò)并加入:
docker network create my_network docker network connect my_network ollama docker network connect my_network maxkb
性能優(yōu)化建議
GPU加速
啟動(dòng)Ollama時(shí)添加 --gpus all
參數(shù)(需宿主機(jī)安裝NVIDIA驅(qū)動(dòng)):
docker run -d --gpus all -p 11434:11434 ollama/ollama
模型量化
使用低精度模型(如 llama3:8b-q4_K_M
)減少資源占用:
ollama pull llama3:8b-q4_K_M
通過以上步驟,即可在Docker環(huán)境中實(shí)現(xiàn)MaxKB與Ollama的集成。若需進(jìn)一步優(yōu)化響應(yīng)速度,可考慮部署更高性能的模型或升級(jí)硬件配置。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker安裝elastic?search和kibana的實(shí)現(xiàn)
本文主要介紹了docker安裝elastic?search和kibana的實(shí)現(xiàn),,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04Docker?Compose+Nginx+Certbot自動(dòng)化部署HTTPS的詳細(xì)指南
打造屬于您的全自動(dòng)?HTTPS?服務(wù),無需復(fù)雜配置,無需手動(dòng)維護(hù),只需?3?個(gè)核心文件和?5?分鐘時(shí)間,即可實(shí)現(xiàn)永久自動(dòng)化的?HTTPS?加密解決方案,下面我們就來看看具體方法吧2025-07-07dockerExecute 函數(shù)和docker.build的區(qū)別解析
dockerExecute 通常是一個(gè)自定義的函數(shù)或者由特定的 Jenkins 庫(kù)(如 piper-lib)提供,用于在 Docker 容器中執(zhí)行特定的命令,這篇文章主要介紹了dockerExecute 函數(shù)和docker.build的區(qū)別,需要的朋友可以參考下2024-12-12iptables使用及docker的iptables規(guī)則
Docker在創(chuàng)建容器時(shí),會(huì)自動(dòng)添加一些iptables規(guī)則來實(shí)現(xiàn)網(wǎng)絡(luò)隔離和轉(zhuǎn)發(fā)等功能,本文主要介紹了iptables使用及docker的iptables規(guī)則,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12Docker底層技術(shù)Namespace Cgroup應(yīng)用詳解
在本篇文章里小編給大家整理的是關(guān)于Docker底層技術(shù)Namespace Cgroup應(yīng)用的相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-10-10Docker通過容器生成鏡像提交DockerCommit詳解
這篇文章主要介紹了Docker通過容器生成鏡像提交DockerCommit的詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-09-09