在docker中部署ollama

发布于:2025-06-15 ⋅ 阅读:(21) ⋅ 点赞:(0)

一、创建项目目录

mkdir -p ~/qihuang/ollama/models

二、启动独立的 Ollama 容器

使用未被占用的端口(如9034),避免与现有服务冲突:

docker run -d \
  --name ollama-qihuang \
  -p 9034:11434 \
  -v ~/qihuang/ollama/models:/models \
  ollama/ollama:latest serve

参数说明

  • -p 9034:11434:将宿主机的9034端口映射到容器的11434端口(Ollama 默认 API 端口)。
  • -v ~/qihuang/ollama/models:/models:挂载模型目录,支持自定义模型。

三、验证容器运行状态

docker ps | grep ollama-qihuang

预期输出

xxxxxx   ollama/ollama:latest   "/bin/ollama serve"   ...   0.0.0.0:9034->11434/tcp   ollama-qihuang

四、检查防火墙设置

确保宿主机防火墙放行9034端口:

# 查看防火墙状态
sudo systemctl status firewalld

# 放行端口(如果防火墙开启)
sudo firewall-cmd --add-port=9034/tcp --permanent
sudo firewall-cmd --reload

五、外网访问测试

1. 本地测试
curl http://localhost:11435/api/tags | jq

若返回模型列表(如{"models": [...]}),说明服务正常。

2. 外网测试

在另一台设备(如个人电脑)上执行:

curl http://222.206.4.166:9034/api/tags | jq

若能正常响应,则外网访问配置成功。

六、管理你的 Ollama 服务

1. 停止服务
docker stop ollama-qihuang
2. 启动服务
docker start ollama-qihuang
3. 查看日志
docker logs -f ollama-qihuang

七、常见问题排查

1. 端口冲突

若启动容器时提示端口已被占用,更换其他端口(如1143611437):

docker run -d --name ollama-qihuang -p 11436:11434 ...
2. 防火墙未放行

联系服务器管理员开放指定端口,或使用以下命令临时测试(需 root 权限):

sudo iptables -A INPUT -p tcp --dport 11435 -j ACCEPT
3. 外网无法访问但本地正常

可能是服务器网络策略限制,需联系管理员确认是否允许外网访问该端口。

总结

通过上述步骤,你已成功部署独立的ollama-qihuang服务,并可通过外网访问:

  • API 地址http://222.206.4.166:9034
  • 管理命令:使用docker start/stop ollama-qihuang控制服务

网站公告

今日签到

点亮在社区的每一天
去签到