Ubuntu服务器实战Docker Compose整合DifyOllamaDeepSeek全流程指南当开发者需要在企业级Ubuntu服务器上快速部署AI应用栈时权限隔离、网络配置和容器编排往往成为拦路虎。本文将手把手带你用Docker Compose一次性解决三大核心组件——AI应用框架Dify、模型服务Ollama和DeepSeek大模型的部署难题特别针对生产环境中常见的privileged权限不足和端口映射失效两大痛点提供工业级解决方案。1. 环境准备与避坑要点在开始部署前请确保你的Ubuntu 20.04/22.04 LTS服务器满足以下条件已安装Docker 20.10和Docker Compose 2.12至少16GB内存运行DeepSeek模型建议32GBNVIDIA显卡驱动已安装如需GPU加速关键检查点# 验证Docker安装 docker --version # 验证NVIDIA容器工具包 nvidia-smi # 创建专用部署目录 mkdir -p ~/ai-stack/{dify,ollama} cd ~/ai-stack注意企业服务器常见问题在于普通用户无sudo权限此时需要联系管理员预先配置docker用户组权限sudo usermod -aG docker $USER newgrp docker2. 编排Dify核心服务在dify/docker-compose.yml中我们需要特别注意API服务的权限配置。原始配置可能导致SSRF代理失效这是企业环境中常见的安全陷阱。优化后的服务定义version: 3.8 services: api: image: langgenius/dify-api:0.15.3 privileged: true # 关键配置解决容器内操作权限不足 restart: always environment: MODE: api OLLAMA_API_BASE_URL: http://ollama:11434 volumes: - ./data:/data networks: - ai-net web: image: langgenius/dify-web:0.15.3 ports: - 8080:80 depends_on: - api networks: - ai-net networks: ai-net: driver: bridge部署验证命令docker compose up -d # 查看API服务日志 docker compose logs api | grep -i error3. Ollama服务深度配置Ollama的容器化部署需要特别注意两点GPU直通和网络暴露。许多教程忽略的OLLAMA_HOST环境变量正是导致服务不可达的元凶。完整Ollama服务配置services: ollama: image: ollama/ollama:latest deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] ports: - 11434:11434 # 必须显式暴露端口 environment: OLLAMA_HOST: 0.0.0.0 # 允许外部连接 volumes: - ./ollama/models:/root/.ollama # 持久化模型存储 networks: - ai-net模型加载实操# 进入Ollama容器交互模式 docker exec -it ollama ollama pull deepseek-r1:8b # 验证模型加载 curl http://localhost:11434/api/tags4. 网络互联与安全加固Docker Compose的默认bridge网络可能导致跨容器通信失败。我们采用自定义网络主机名解析的方案同时配置合理的资源限制。网络优化配置networks: ai-net: ipam: config: - subnet: 172.28.0.0/16资源限制示例services: api: mem_limit: 8g cpus: 2 ollama: mem_limit: 24g cpus: 4重要提示生产环境务必配置TLS加密通信以下为自签名证书快速生成命令openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 3655. 全栈调试技巧当遇到服务不可用时可按以下流程排查网络连通性测试docker run --rm --network ai-net busybox ping ollama端口映射验证ss -tulnp | grep 11434容器内日志分析docker compose logs --tail100 ollama | grep -C 10 error常见错误对照表错误现象可能原因解决方案502 Bad GatewayAPI容器权限不足添加privileged: trueConnection refusedOLLAMA_HOST未配置设置环境变量为0.0.0.0模型加载超时存储卷未挂载检查./ollama/models权限在完成所有部署后建议运行压力测试验证系统稳定性wrk -t4 -c100 -d60s http://localhost:8080/api/status