class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line">docker pull ollama/ollama:0.3.0 class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"># AMD GPU下载ollama 0.3.0 class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line">docker pull ollama/ollama:0.3.0-rocm class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
三:启动ollama容器:
方式一:docker desktop界面启动
- 下载完成后,可以在
Images
中找到 Ollama
镜像,点击 run
标识即可运行,注意运行前在弹出的可选设置里面,选定一个端口号(如8089)。
方式二:命令行启动
- CPU 版本:
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
- GPU版本:
docker run -d --gpus=all -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
注:也可以通过docker-compose.yaml配置文件拉取ollama,参考Docker部署全攻略:Ollama安装、本地大模型配置与One-API接入_ollama docker部署-CSDN博客
关于ollama使用GPU还可以参考:在Linux上如何让ollama在GPU上运行模型_ollama使用gpu-CSDN博客
Ollama 现已推出官方 Docker 镜像 · Ollama 博客 - Ollama 框架
四、在ollama容器中拉取deepseek r1模型
我拉取的是14B,大家可以根据自己电脑配置选择不同版本大模型
在ollama容器中执行如下命令,等待下载好deepseek-r1完成即可:
ollama run deepseek-r1:14b
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
参考:deekseek-r1本地部署指南极简版-CSDN博客
如果大家还想使用open web ui可以参考:deepseek-r1落地指南(搭建web-ui | 搭建本地代码编辑器)-CSDN博客
五、(可选)运行deepseek并调用GPU
如果在“三:启动ollama容器:”中启用的是CPU版本的容器,则deepseek无法调用GPU,如果还想调用GPU,应该如下操作:
1.验证docker可以调用GPU命令如下:
docker run --gpus all ubuntu nvidia-smi
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
2.制作镜像保存在本地,命令如下:
docker commit 5ae3d25d6f5d odeepseek14b
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
3.运行镜像,生成容器,命令如下(命令中要包含--gpus=all才能调用GPU):
docker run -d --gpus=all --hostname=5ae3d25d6f5d --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=OLLAMA_HOST=0.0.0.0 --env=LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64 --env=NVIDIA_DRIVER_CAPABILITIES=compute,utility --env=NVIDIA_VISIBLE_DEVICES=all --network=bridge -p 8089:11434 --restart=no --label='org.opencontainers.image.ref.name=ubuntu' --label='org.opencontainers.image.version=22.04' --runtime=runc -d odeepseek14b
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
注意:调用GPU时,如果加上--gpus=all,则容器inspect中会显示如下:
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line"> "DeviceRequests": [
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> {
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> "Driver": "",
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> "Count": -1,
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> "DeviceIDs": null,
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> "Capabilities": [
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"> [
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> "gpu"
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line"> ]
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> ],
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line"> "Options": {}
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="12"> class="hljs-ln-code"> class="hljs-ln-line"> }
- class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="13"> class="hljs-ln-code"> class="hljs-ln-line"> ],
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
如果没有加 --gpus=all,会显示:
"DeviceRequests": null,
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
则无法调用GPU
4.验证容器中是否调用GPU成功,命令如下:
nvidia-smi
class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">
>>
评论记录:
回复评论: