Java 开发者如何利用 Docker 和 GPU 加速运行 DeepSeek R1 8b 模型
在当今的科技时代,Docker 和 GPU 加速技术已经成为开发和部署机器学习模型的必备工具。无论是个人开发者还是企业用户,掌握这些技术都能极大地提升工作效率。今天,我将带你从零开始,一步步在 Linux 上安装 Docker,配置 GPU 支持,并运行一个强大的语言模型——Ollama 的 DeepSeek R1 8b 模型。
一、为什么需要 Docker 和 GPU?
在开始之前,我们先简单了解一下 Docker 和 GPU 的重要性。
Docker:容器化技术的明星
Docker 是一种容器化技术,它允许你将应用程序及其依赖打包到一个独立的容器中。这样,无论在什么环境下,你的应用程序都能稳定运行,避免了“在我的机器上可以运行”的尴尬问题。Docker 还能帮助你快速部署和管理应用,大大简化了开发和运维的流程。
GPU:加速机器学习的引擎
GPU(图形处理单元)在处理大规模并行计算任务时表现出色,尤其是在机器学习和深度学习领域。通过 GPU 加速,你可以显著缩短模型训练和推理的时间,从而更快地得到结果。对于一些复杂的模型,例如 Ollama 的 DeepSeek R1 8b,GPU 的支持几乎是必不可少的。
二、安装 Docker
安装 Docker 的方法有两种:通过官方仓库安装和使用脚本安装。我们先来看看第一种方法。
方法 1:通过官方仓库安装
-
更新系统包
打开终端,运行以下命令来更新系统的软件包列表:sudo apt update
-
安装必要的包
接下来,安装一些 Docker 所需的依赖包:sudo apt install apt-transport-https ca-certificates curl software-properties-common
-
添加 Docker 的官方 GPG 密钥
为了确保下载的 Docker 包是安全的,我们需要添加 Docker 的官方 GPG 密钥:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
-
添加 Docker 的稳定仓库
将 Docker 的官方仓库添加到系统的软件源中:echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
更新包列表
再次更新系统的软件包列表:sudo apt update
-
安装 Docker
现在可以安装 Docker 了:sudo apt install docker-ce docker-ce-cli containerd.io
-
启动 Docker
安装完成后,启动 Docker 服务并设置开机自启:sudo systemctl start docker sudo systemctl enable docker
-
验证安装
最后,运行以下命令验证 Docker 是否安装成功:sudo docker --version
如果看到 Docker 的版本号,说明安装成功啦!
方法 2:使用脚本安装
如果你更喜欢简单快捷的方式,可以使用 Docker 官方提供的安装脚本。只需运行以下命令:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
然后,启动 Docker 服务并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
最后,验证安装:
sudo docker --version
三、配置国内镜像源
默认情况下,Docker 会从国外的仓库下载镜像,这在国内可能会很慢。为了加速下载,我们可以配置国内的镜像源。编辑 /etc/docker/daemon.json
文件,添加以下内容:
{"registry-mirrors": ["https://docker.1ms.run","https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.mirrors.ustc.edu.cn"]
}
保存文件后,重启 Docker 服务以使配置生效:
sudo systemctl restart docker
四、配置 GPU 支持
为了让 Docker 能够使用 GPU,我们需要安装 NVIDIA 的驱动和相关的工具。
1. 确认 NVIDIA 驱动安装
首先,检查你的系统是否已经安装了 NVIDIA 驱动。运行以下命令:
nvidia-smi
如果看到 GPU 的信息,说明驱动安装正常。如果没有,你需要先安装 NVIDIA 驱动。
2. 安装 NVIDIA Container Toolkit
接下来,安装 NVIDIA Container Toolkit,它可以让 Docker 容器直接访问 GPU。
-
设置稳定版仓库和 GPG 密钥
运行以下命令:distribution=$(. /etc/os-release; echo $ID$VERSION_ID) curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
-
更新软件包列表并安装
更新软件包列表并安装 NVIDIA Container Toolkit:sudo apt-get update sudo apt-get install -y nvidia-container-toolkit
-
重启 Docker 服务
重启 Docker 服务以使配置生效:sudo systemctl restart docker
3. 配置 Docker 支持 GPU
编辑 /etc/docker/daemon.json
文件,添加以下内容:
{"default-runtime": "nvidia","runtimes": {"nvidia": {"path": "nvidia-container-runtime","runtimeArgs": []}}
}
保存文件后,再次重启 Docker 服务:
sudo systemctl restart docker
4. 测试 GPU 支持
运行以下命令测试 GPU 是否可用:
sudo docker run --gpus all nvidia/cuda:11.0-base nvidia-smi
如果看到容器内 GPU 的信息,说明配置成功啦!
五、运行 Ollama 和 DeepSeek R1 8b 模型
现在,我们已经准备好运行 Ollama 了。Ollama 是一个强大的语言模型,DeepSeek R1 8b 是其一个高效的版本。
1. 安装 Ollama
-
拉取 Ollama 镜像
使用以下命令拉取 Ollama 的 Docker 镜像:sudo docker pull ollama/ollama:latest
或者使用国内镜像源:
sudo docker pull docker.1ms.run/ollama/ollama
-
运行 Ollama 容器
启动 Ollama 容器,并分配 GPU 资源:sudo docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart=always ollama/ollama
这里,
--gpus=all
表示将所有 GPU 分配给 Ollama 容器,-p 11434:11434
表示将容器的 11434 端口映射到主机的 11434 端口,方便我们访问。
2. 下载并运行 DeepSeek R1 8b 模型
在 Ollama 容器中运行以下命令下载并启动 DeepSeek R1 8b 模型:
sudo docker exec -it ollama ollama run deepseek-r1:8b
如果一切顺利,你将看到模型启动的信息,这意味着你已经成功运行了 Ollama 的 DeepSeek R1 8b 模型!
六、总结
通过这篇文章你将从零开始,一步步在 Linux 上安装了 Docker,配置了 GPU 支持,并成功运行了 Ollama 的 DeepSeek R1 8b 模型。希望这篇文章能帮助你更好地理解和使用这些强大的工具。
如果你在操作过程中遇到任何问题,欢迎在评论区留言,我会尽力帮你解决。如果你觉得这篇文章对你有帮助,别忘了点赞和关注哦!
最后,如果你对 Docker、GPU 或者机器学习感兴趣,可以继续探索更多相关的知识和应用。让我们一起在技术的道路上不断前行!
版权声明:本文为原创文章,未经授权不得转载。