1panel安装ollama无法使用GPU问题
·
1Panel 里的默认 Docker Compose 配置来看,已经加了 GPU 相关配置,但还缺关键参数,我帮你补全配置,确保 Ollama 能识别并使用 GPU:
问题分析
你的 Compose 里虽然加了reservations.devices的 GPU 配置,但缺少 Nvidia 驱动的环境变量,导致容器内 Ollama 无法正确加载 CUDA。
修正后的完整 Docker Compose 配置(直接在 1Panel 里编辑)
在ollama服务下添加environment字段,补全 Nvidia 相关环境变量:
yaml
networks:
1panel-network:
external: true
services:
ollama:
container_name: ${CONTAINER_NAME}
deploy:
resources:
limits:
cpus: ${CPUS}
memory: ${MEMORY_LIMIT}
reservations:
devices:
- capabilities:
- gpu
count: all
driver: nvidia
# 新增:添加Nvidia环境变量,让容器识别GPU
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
image: ollama/ollama:0.13.5
labels:
createdBy: Apps
networks:
- 1panel-network
ports:
- ${HOST_IP}:${PANEL_APP_PORT_HTTP}:11434
restart: unless-stopped
tty: true
volumes:
- ./data:/root/.ollama
操作步骤(在 1Panel 里执行)
- 打开 1Panel 中 Ollama 的 “参数配置” 页面(就是你截图的界面);
- 找到 “编辑 compose 文件” 区域,把上面补全后的配置替换进去;
- 点击 “确认”,1Panel 会自动重启 Ollama 容器;
- 重启后,查看 Ollama 日志验证 GPU 是否生效:
bash
运行
# 在终端执行,查看容器日志 docker logs -f 1Panel-ollama-1BQF
验证 GPU 生效的标志
日志中会出现类似内容(不再有 CUDA 初始化失败的提示):
plaintext
ggml_cuda_init: found 1 CUDA devices
ggml_cuda_init: using CUDA device 0 (NVIDIA GeForce RTX 3090)
offloaded 12/13 layers to GPU
关键说明
NVIDIA_VISIBLE_DEVICES=all:让容器能访问所有 GPU;NVIDIA_DRIVER_CAPABILITIES=compute,utility:授予容器使用 GPU 计算的权限;- 前提:你的服务器已安装 Nvidia 驱动 和 nvidia-container-toolkit(1Panel 提示里也提到了这一点)。
如果日志里还是提示 CUDA 初始化失败,可能是服务器没装nvidia-container-toolkit,可以执行以下命令安装(适用于 Ubuntu/Debian):
bash
运行
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | tee /etc/apt/sources.list.d/nvidia-docker.list
apt-get update && apt-get install -y nvidia-container-toolkit
systemctl restart docker
安装完成后,重新启动 Ollama 容器即可生效。
更多推荐
所有评论(0)