一、创建项目目录
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. 端口冲突
若启动容器时提示端口已被占用,更换其他端口(如11436
、11437
):
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
控制服务