Docker部署Ollama搭建本地AI開發(fā)環(huán)境
前言
“想開發(fā) AI 應(yīng)用,每次都要調(diào)用云端 API?免費(fèi)額度用完還得付費(fèi)?跑個(gè) demo 都要擔(dān)心成本?”
這是很多 AI 應(yīng)用開發(fā)者遇到的痛點(diǎn)。阿里百煉、智譜 AI、OpenAI 等平臺(tái)雖然提供免費(fèi)額度,但用完就得付費(fèi)。而且在開發(fā)調(diào)試階段,頻繁調(diào)用 API 不僅費(fèi)錢,網(wǎng)絡(luò)延遲也影響體驗(yàn)。
更好的方案是:本地部署大模型,開發(fā)測(cè)試隨便用,無需擔(dān)心額度和費(fèi)用。
今天這篇文章,我會(huì)帶你用 Docker + Ollama 搭建一個(gè)本地 AI 開發(fā)環(huán)境,讓你在開發(fā) AI 應(yīng)用時(shí),可以快速調(diào)用本地模型進(jìn)行測(cè)試。
Ollama 是什么?
Ollama 是一個(gè)開源的本地大模型運(yùn)行工具,讓你能夠像使用 Docker 管理容器一樣,輕松管理和運(yùn)行各種開源大模型。

核心能力
- 一鍵拉取模型:類似
docker pull,用ollama pull qwen2.5:7b即可下載模型 - 本地推理運(yùn)行:在本地機(jī)器上運(yùn)行模型,無需聯(lián)網(wǎng)
- OpenAI 兼容 API:提供標(biāo)準(zhǔn)的 HTTP API,與 OpenAI 接口兼容
- 多模型支持:支持 Llama、Qwen、DeepSeek、Mistral 等主流開源模型
工業(yè)生產(chǎn)中的定位
| 場(chǎng)景 | 推薦方案 | 原因 |
|---|---|---|
| 開發(fā)測(cè)試 | Ollama | 部署簡單、API 兼容、快速迭代 |
| 個(gè)人/小團(tuán)隊(duì) | Ollama | 資源占用低、開箱即用 |
| 生產(chǎn)環(huán)境 | vLLM / 云端 API | 高并發(fā)、高吞吐、穩(wěn)定可靠 |
| 企業(yè)私有化 | vLLM + K8s | 可擴(kuò)展、可監(jiān)控、高可用 |
總結(jié):Ollama 的定位是本地開發(fā)測(cè)試工具,而不是生產(chǎn)級(jí)推理引擎。如果你需要支撐高并發(fā)線上服務(wù),應(yīng)該考慮 vLLM 等專業(yè)方案。
競品對(duì)比
| 工具 | 特點(diǎn) | 適用場(chǎng)景 |
|---|---|---|
| Ollama | 上手最簡單,類 Docker 體驗(yàn) | 開發(fā)測(cè)試、個(gè)人使用 |
| vLLM | 高性能推理引擎,支持 PagedAttention | 生產(chǎn)環(huán)境、高并發(fā) |
| LM Studio | 圖形界面,適合非技術(shù)用戶 | 個(gè)人體驗(yàn)、無代碼場(chǎng)景 |
| LocalAI | OpenAI API 完全兼容,功能豐富 | 需要完整 OpenAI 替代方案 |
| llama.cpp | 底層推理庫,性能極致 | 需要深度定制、嵌入式場(chǎng)景 |
為什么開發(fā)階段選 Ollama?
- 安裝最簡單:一條命令搞定
- 模型管理方便:拉取、切換、刪除都很直觀
- API 兼容好:直接用 OpenAI SDK 調(diào)用
- 資源占用低:適合日常開發(fā)機(jī)器運(yùn)行
本地開發(fā) vs 云端 API
先看下兩種方案的對(duì)比:
| 對(duì)比項(xiàng) | 云端 API(百煉/OpenAI) | 本地 Ollama |
|---|---|---|
| 調(diào)用方式 | HTTP API | HTTP API(兼容 OpenAI 格式) |
| 費(fèi)用 | 免費(fèi)額度用完需付費(fèi) | 完全免費(fèi) |
| 網(wǎng)絡(luò) | 依賴網(wǎng)絡(luò),有延遲 | 本地調(diào)用,毫秒級(jí)響應(yīng) |
| 隱私 | 數(shù)據(jù)上傳云端 | 數(shù)據(jù)完全本地 |
| 模型選擇 | 平臺(tái)限定 | 自由選擇任意模型 |
| 適用場(chǎng)景 | 生產(chǎn)環(huán)境 | 開發(fā)測(cè)試、跑 Demo |
核心價(jià)值:本地 Ollama 提供 OpenAI 兼容的 API 接口,你的代碼幾乎不用改,只需要換一下 base_url,就能無縫切換。
第一步:安裝 Docker Desktop
1. 下載安裝
訪問 Docker 官網(wǎng)下載安裝包:
https://www.docker.com/products/docker-desktop/
根據(jù)你的操作系統(tǒng)選擇對(duì)應(yīng)版本(Windows / macOS / Linux 都支持)。
2. 驗(yàn)證安裝
打開終端,執(zhí)行:
docker --version docker run hello-world
看到 “Hello from Docker!” 說明安裝成功。

第二步:部署 Ollama 容器
1. 創(chuàng)建掛載目錄
macOS 用戶:
mkdir -p /Users/$(whoami)/docker/ollama
Linux 用戶:
sudo mkdir -p /home/docker/ollama sudo chmod 777 /home/docker/ollama
說明:macOS 的用戶目錄是
/Users/用戶名,而 Linux 是/home/用戶名。macOS 的/home是受保護(hù)的系統(tǒng)目錄,無法寫入。
2. 啟動(dòng)容器
macOS 用戶:
docker run -d \ --name ollama \ -p 11434:11434 \ -v /Users/$(whoami)/docker/ollama:/root/.ollama \ ollama/ollama
Linux 用戶:
docker run -d \ --name ollama \ -p 11434:11434 \ -v /home/docker/ollama:/root/.ollama \ ollama/ollama
參數(shù)說明:
-p 11434:11434:暴露 API 端口,供本地應(yīng)用調(diào)用-v <宿主機(jī)目錄>:/root/.ollama:掛載宿主機(jī)目錄,模型數(shù)據(jù)持久化保存
2. 驗(yàn)證服務(wù)
curl http://localhost:11434
返回 Ollama is running 即成功。
第三步:拉取開發(fā)測(cè)試用模型
進(jìn)入容器:
docker exec -it ollama bash
推薦模型
開發(fā)測(cè)試推薦輕量級(jí)模型(響應(yīng)快,資源占用低):
# 中文場(chǎng)景推薦 ollama pull qwen2.5:7b # 通義千問,中文能力強(qiáng) ollama pull qwen2.5:1.5b # 更輕量,快速測(cè)試用 # 推理場(chǎng)景推薦 ollama pull deepseek-r1:7b # DeepSeek R1,推理能力強(qiáng) ollama pull deepseek-r1:1.5b # 輕量版 # 英文場(chǎng)景推薦 ollama pull llama3.2:3b # Llama 3.2,平衡性能和速度 ollama pull llama3.1:8b # 經(jīng)典版本
常用命令
ollama list # 查看已下載模型 ollama ps # 查看運(yùn)行中的模型 ollama rm <模型名> # 刪除模型
第四步:在代碼中調(diào)用本地模型
Ollama 提供 OpenAI 兼容的 API,這意味著你可以直接復(fù)用現(xiàn)有代碼,只需修改 base_url。
API 端點(diǎn)
Base URL: http://localhost:11434/v1 API Key: ollama(隨便填,本地不需要驗(yàn)證)
Python 示例
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 本地部署,隨便填
)
response = client.chat.completions.create(
model="qwen2.5:1.5b",
messages=[
{"role": "user", "content": "你好,介紹一下你自己"}
]
)
print(response.choices[0].message.content)JavaScript/Node.js 示例
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'http://localhost:11434/v1',
apiKey: 'ollama'
});
const response = await client.chat.completions.create({
model: 'qwen2.5:1.5b',
messages: [
{ role: 'user', content: '你好,介紹一下你自己' }
]
});
console.log(response.choices[0].message.content);cURL 測(cè)試
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen2.5:1.5b",
"messages": [{"role": "user", "content": "你好"}]
}'
第五步:Spring Boot 集成 Spring AI
如果你是 Java 開發(fā)者,Spring AI 對(duì) Ollama 有原生支持,通過 OllamaChatModel 可以直接注入使用。
1. 添加依賴
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama</artifactId>
<version>1.1.0</version>
</dependency>2. 添加自動(dòng)配置 Starter
踩坑提醒:網(wǎng)上很多教程推薦使用 spring-ai-ollama-spring-boot-starter,但它的最新版是 1.0.0-M6。如果你的項(xiàng)目中 Spring AI 版本較新(如 1.1.0),直接引入會(huì)導(dǎo)致啟動(dòng)報(bào)錯(cuò)。
原因:Spring AI 新版本將 spring-ai-spring-boot-autoconfigure 拆分成了多個(gè)模塊,而舊的 starter 依賴的自動(dòng)配置類與新版本存在 Bean 沖突。
解決方案:使用新版單獨(dú)的自動(dòng)配置模塊:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-model-ollama</artifactId>
<version>1.1.0</version>
</dependency>3. 配置 application.yml
spring:
ai:
ollama:
base-url: http://localhost:11434
chat:
model: deepseek-r1:7b4. 注入 OllamaChatModel
配置完成后,可以直接注入 ollamaChatModel:
@Autowired
@Qualifier("ollamaChatModel")
private ChatModel ollamaChatModel;5. 完整調(diào)用示例
@RestController
@RequestMapping("/ai/ollama")
public class OllamaChatController {
@Autowired
@Qualifier("ollamaChatModel")
private ChatModel ollamaChatModel;
@GetMapping("/stream/chat")
public Flux<String> streamChat(HttpServletResponse response) {
response.setCharacterEncoding("UTF-8");
Flux<ChatResponse> stream = ollamaChatModel.stream(new Prompt("你是誰?"));
return stream.map(resp -> resp.getResult().getOutput().getText());
}
}啟動(dòng)應(yīng)用后,訪問這個(gè)接口,就能調(diào)用到本地部署的 DeepSeek 模型了。

開發(fā)工作流建議
推薦的開發(fā)流程:
1. 本地開發(fā) → 調(diào)用 Ollama(localhost:11434)
2. 本地測(cè)試 → 繼續(xù)用 Ollama,快速迭代
3. 部署上線 → 切換到云端 API(阿里百煉/智譜/OpenAI)
切換只需改配置:
# 開發(fā)環(huán)境
spring.ai.ollama.base-url: http://localhost:11434
# 生產(chǎn)環(huán)境
spring.ai.openai.base-url: https://dashscope.aliyuncs.com/compatible-mode/v1
spring.ai.openai.api-key: ${DASHSCOPE_API_KEY}常見問題
Q1:模型響應(yīng)太慢?
選擇更小的模型參數(shù),如 qwen2.5:1.5b 或 deepseek-r1:1.5b,響應(yīng)速度會(huì)快很多。
Q2:內(nèi)存不夠?
8GB 內(nèi)存建議用 7B 以下的模型,16GB 可以嘗試 14B 模型。
Q3:如何查看 API 是否正常?
curl http://localhost:11434/v1/models
返回模型列表即正常。
Q4:容器重啟后模型還在嗎?
是的,模型存儲(chǔ)在掛載的宿主機(jī)目錄中(macOS: /Users/用戶名/docker/ollama,Linux: /home/docker/ollama),容器重啟或重建都不會(huì)丟失。
總結(jié)
搭建本地 AI 開發(fā)環(huán)境,核心就三步:
- 安裝 Docker Desktop → 容器運(yùn)行環(huán)境
- 部署 Ollama 容器 → 本地模型服務(wù)
- 代碼中調(diào)用 API → OpenAI 兼容接口
核心價(jià)值:
- 開發(fā)調(diào)試階段,無需擔(dān)心 API 額度和費(fèi)用
- 本地調(diào)用,毫秒級(jí)響應(yīng),迭代更快
- OpenAI 兼容接口,代碼幾乎不用改
- 部署上線時(shí),只需切換 base_url 即可
參考資料:
- Ollama 官方文檔:
https://ollama.com/docs - Ollama OpenAI 兼容 API:
https://github.com/ollama/ollama/blob/main/docs/openai.md - Spring AI 文檔:
https://docs.spring.io/spring-ai/reference/
到此這篇關(guān)于Docker部署Ollama搭建本地AI開發(fā)環(huán)境的文章就介紹到這了,更多相關(guān)Docker部署Ollama搭建AI環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

Windows11下Ollama部署Qwen2.5大模型的實(shí)戰(zhàn)指南
本文旨在記錄 如何在Windows 11 本地環(huán)境下,利用 Ollama 部署 Qwen2.5 大模型,并實(shí)現(xiàn) API 調(diào)用,無需顯卡也能跑”、能夠確保隱私安全,有需要的小伙伴可以跟隨小編一起了解2026-03-18
ollama本地部署DeepSeek教程的實(shí)現(xiàn)
本文主要介紹如何使用ollama本地部署deepseek大模型,以及使用WebUI工具界面進(jìn)行交互,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需2026-03-31



