如何通过docker-compose启动Ollama并从Modelfile创建模型?
解决Docker Compose中Ollama启动并创建模型的问题
错误原因
Ollama官方镜像的ENTRYPOINT已默认设置为ollama,因此command字段只需填写子命令(如create),无需重复写ollama,这就是你出现unknown command "ollama" for "ollama"报错的原因。
正确配置方案
要实现启动Ollama服务并创建模型,需满足两个核心要求:
- 将本地
Modelfile挂载到容器内可访问的路径 - 调整命令逻辑,确保模型创建后自动启动服务
最终docker-compose.yml配置
version: '3' services: ollama: image: ollama/ollama:latest container_name: ollama ports: - "11434:11434" volumes: - ollama_volume:/root/.ollama # 挂载本地Modelfile到容器内的/Modelfile路径 - ./Modelfile:/Modelfile # 先尝试创建模型(已存在则忽略错误),再启动Ollama服务 command: sh -c "ollama create mymodel -f /Modelfile || true && ollama serve" volumes: ollama_volume:
关键细节说明
- 挂载路径一致性:确保
volumes中挂载的容器内路径,与command里-f参数指定的路径完全一致(示例中均为/Modelfile) - 避免容器启动失败:加入
|| true是为了防止模型已存在时,ollama create命令报错导致容器启动终止 - 服务持续运行:
ollama serve命令会让容器保持运行状态,提供11434端口的API服务
内容的提问来源于stack exchange,提问作者aturt13
相关产品推荐
相关产品推荐

