Docker 设置
最后更新时间: 2024年4月19日
本指南将带您完成使用 Docker 设置 Kuzco 的步骤。原文作者赫里希·奥利克尔(在新选项卡中打开)
什么是 Docker?
码头工人(在新选项卡中打开)帮助开发人员随时随地构建、共享、运行和验证应用程序,而无需繁琐的环境配置或管理。它通过以下方式实现此目的集装箱化(在新选项卡中打开)您的应用程序在指定的虚拟环境中。
步骤 0。获取所需内容
在本指南中,您只需要两 (2) 个东西:Docker 映像和运行器脚本。
Docker 镜像和运行器脚本可以在这里下载
步骤 0。Linux 上的 Docker
由于 Ollama 和驱动程序的问题,A100 是已知问题。.so
确保您掌握了基础知识,并且您的系统已更新。
sudo apt update && sudo apt -y install build-essential curl ca-certificates nvtop
检查您是否启用了 Nvidia GPU 并在基本系统上运行。
sudo nvidia-smi
您应该会看到类似于下面的内容。
+---------------------------------------------------------------------------------------+| NVIDIA-SMI 535.113.01 Driver Version: 535.113.01 CUDA Version: 12.2 ||-----------------------------------------+----------------------+----------------------+| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. || | | MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 4090 Off | 00000000:04:00.0 Off | Off || 0% 28C P2 68W / 450W | 4950MiB / 24564MiB | 0% Default || | | N/A |+-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+| Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|| |+---------------------------------------------------------------------------------------+
步骤 1。安装 Docker 引擎
遵循 Docker 的官方安装指南这里(在新选项卡中打开)如果您遇到任何 isues。
执行以下命令,安装Docker引擎。
以下是它的作用摘要:
- 它下载安装所需的软件包并验证其有效性。
- 它更新本地包索引以从存储库中获取最新信息。
- 它安装 Docker 引擎包,包括其所有依赖项。
install -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascchmod a+r /etc/apt/keyrings/docker.ascecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
通过运行以下命令来测试您的安装。
sudo docker run hello-world
第2步。安装 NVIDIA 容器运行时
运行下面的命令,但您可以访问 [本指南] 为您提供更全面和深入的设置说明。
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 sudo apt updatesudo apt install -y nvidia-container-toolkitsudo nvidia-ctk runtime configure --runtime=dockersudo systemctl restart docker
第 3 步。确保 Docker 可以看到你的 GPU
运行以下命令进行检查。
docker run --rm -it --runtime=nvidia --gpus=all nvidia/cuda:12.3.2-runtime-ubuntu22.04 nvidia-smi
您应该获得与以下类似的输出。
============ CUDA ============ CUDA Version 12.3.2 Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. This container image and its contents are governed by the NVIDIA Deep Learning Container License.By pulling and using the container, you accept the terms and conditions of this license:https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience. Tue Mar 12 03:01:17 2024+---------------------------------------------------------------------------------------+| NVIDIA-SMI 535.113.01 Driver Version: 535.113.01 CUDA Version: 12.3 ||-----------------------------------------+----------------------+----------------------+| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. || | | MIG M. ||=========================================+======================+======================|| 0 NVIDIA GeForce RTX 4090 Off | 00000000:04:00.0 Off | Off || 0% 29C P2 68W / 450W | 4950MiB / 24564MiB | 0% Default || | | N/A |+-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+| Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=======================================================================================|+---------------------------------------------------------------------------------------+
第 4 步。在基础计算机上安装 Kuzco
对于磁盘使用情况,最好将模型已放在基础计算机上,然后再将它们放入容器中。如果您认为有用,这将允许您在不同的容器中使用相同的下载模型。symlink
第 5 步。拉取并启动基础映像
让我们命名容器。kuzco
下载模型后,让我们使用以下命令在容器之间共享模型。
docker run --rm --runtime=nvidia --gpus=all -v /home/samheutmaker/.kuzco/models:/home/samheutmaker/.kuzco/models --name kuzco -d hrishioa/kuzco
验证容器是否正在使用 .docker ps
第 6 步。初始化并运行 Kuzco
不要启动工作线程,只需登录并创建(或注册)您的工作线程即可。
docker exec -it kuzco kuzco init
映像中还包含一个 Kuzco 任务管理器 (),它将监控来自 Kuzco 的空闲消息,并在出现太多没有推理的心跳时重新启动。运行器还应该允许您无头运行容器,并将日志传递给 。run.ts
docker logs
docker exec -itd kuzco1 bash -c "cd /kuzco_runner && /root/.bun/bin/bun run_kuzco.ts"