基于GPU的deepseek容器镜像制作与使用

目录

1 镜像制作

2 Docker镜像测试

3 常见问题


1 镜像制作

基于GPU的deepseek大模型docker镜像,是在基于KOS的docker镜像的基础上,在容器镜像中安装cuda,并将大模型运行在容器镜像中。下面是基于GPU的容器镜像的制作过程。

图1.1 整体架构

软硬件环境

本次使用的软硬件环境如下:

机型:NF5466G7

操作系统:Keyarchos5.8 SP2

内存:256G

磁盘空间:4T

GPU型号及显存:NVIDIA T4 16G * 4

Ollama: 0.5.7

第一步: 创建容器镜像

创建的基础镜像是KOS5.8sp2的docker镜像,下载链接:http://kos.ieisystem.com/kos-isos/kos_docker/KeyarchOS-5.8-SP2-U1-x86_64-docker-20241211.tar,通过DockerFile进行创建。

DockerFile内容如下:

# 使用本地镜像作为基础镜像

FROM keyarchos:5.8sp2u1

COPY ollama-linux-amd64.tgz /ollama-linux-amd64.tgz

RUN dnf -y install tar

RUN cd / && tar xvf ollama-linux-amd64.tgz -C /root && cp -r /root/bin/* /bin && cp -r /root/lib/* /lib && rm -rf ollama-linux-amd64.tgz /root/*

#安装cuda

COPY cuda-rhel8.repo /etc/yum.repos.d/

RUN dnf install -y cuda-toolkit-12-3

ENV PATH=/usr/local/cuda/bin:$PATH

ENV LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

#

COPY deepseek-r1:7b.* /

#文件下载链接:#http://kos.ieisystem.com/kos-isos/kos_docker/deepseek-r1_7b.gguf

#http://kos.ieisystem.com/kos-isos/kos_docker/deepseek-r1_7b.mf

# 设置环境变量

ENV OLLAMA_HOST=0.0.0.0:11434

# 映射容器内的端口到主机的端口(例如:容器内端口 14144 映射到主机端口 14144)

EXPOSE 11434

COPY start-7b.sh /start-7b.sh

RUN chmod +x /start-7b.sh

CMD ["/start-7b.sh"]

Dockerfile文件下载链接:

http://kos.ieisystem.com/kos-isos/kos_docker/docker_gpu/Dockerfile

创建进行执行命令:docker build -t deepseek-kos-7b .

图1.2 创建镜像

第二步:导出构建的image,命令如下:

将第一步制作的镜像导出来。需要联外网,/etc/yum.repos.d下需配置DockerFile中的源(cuda-rhel8.repo)。

cuda-rhel8.repo文件下载链接: http://kos.ieisystem.com/kos-isos/kos_docker/cuda-rhel8.repo

执行命令:

docker save -o deepseek-kos-7b.tar deepseek-kos-7b:latest

第三步:加载docker镜像

导出的镜像是tar格式,docker可以进行加载。命令如下:

Docker load -i deepseek-kos-7b.tar

图1.3 加载镜像

第四步:启动docker容器

启动的时候需要指定宿主机与容器映射的位置:

执行:docker run -d -p 11333:11434 -v /home/7b:/ollama --gpus all --name dpks7b deepseek-kos-7b:latest

0c040ed64109554c6009dc89636dc6151f1098e62bd47546da7ad457eef031c8

图1.4 启动镜像

上图中-p 11333:11434是将容器内的11434端口映射成11333,可以通过宿主机访问容器中的大模型。

第五步:进入容器

执行命令 :

docker exec -it 0c040ed64109554c6009dc89636dc6151f1098e62bd47546da7ad457eef031c8 bash

图1.5 进入容器

第六步:启动镜像

为了启动大模型,进入容器,执行命令 : sh /start_7b.sh

进入/ollama下 执行 sh start-7b.sh

注:

start_7b.sh 文件下载链接:http://kos.ieisystem.com/kos-isos/kos_docker/start_cpu/start-7b.sh

如下图所示:

图1.6 启动容器镜像

进入容器后,通过脚本一键实现模型创建和启动等操作

2 Docker镜像测试

第一节启动容器镜像后,配置chatbox之后(如图2.2),使用大模型始终GPU使用显示:

图2.1 大模型启用前

配置了容器大模型提供的端口:

图2.2 端口配置

图2.3启动大模型

GPU使用情况显示:

图2.4 GPU使用状态

3 常见问题

1、创建镜像过程中,空间不够,因为docker默认安装在/var目录下,

解决方法:需要更换docker的位置或者清理docker。

如:docker system prune -a -f --volumes

2、启动的时候名称不可重复

图3.1 冲突截图

说明已经存在相同名称的镜像在运行。

解决方法:修改容器的名称后再启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值