GPU Container Runtime: 部署后的最佳实践
GPU Container Runtime 应用程序可通过软件市场在支持的Ubuntu GPU服务器上获取。它会自动安装并配置官方Docker引擎和NVIDIA容器工具包,使您的服务器在配置完成后即可立即运行GPU加速容器。
虽然无需手动安装,但在服务器部署完成后,仍有一些推荐的配置步骤和最佳实践值得参考。本文涵盖验证安装、为默认的administrator账户配置Docker权限、验证GPU支持,以及将Docker存储目录迁移到专用服务器上更大的数据磁盘。
支持的操作系统
GPU容器运行时目前支持以下操作系统:
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
- Ubuntu 24.04 LTS
1. 验证安装
服务器配置完成后,使用SSH连接:
ssh administrator@your-server-ip首先,验证Docker是否可用:
docker --version为了确认Docker服务正常运行,请运行官方测试容器:
sudo docker run hello-world如果容器打印出“Hello from Docker!”消息,则说明您的Docker环境已准备就绪。
接下来,通过运行以下命令验证GPU加速是否可用:
docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi如果GPU支持配置正确,该命令将显示您的NVIDIA GPU信息,包括驱动程序版本、CUDA版本和可用的GPU设备。
如果在不使用sudo的情况下运行Docker出现权限错误,请继续下一节,为默认的administrator账户配置Docker权限。
2. 允许管理员用户运行Docker
对于偶尔执行的Docker命令,您可以直接使用sudo或切换到root账户。但如果您计划频繁使用Docker,将administrator账户添加到docker组是推荐的做法。
permission denied while trying to connect to the Docker API at unix:///var/run/docker.sock有三种方式可以运行Docker命令。
方式一:切换到root用户
sudo -i
docker ps方式二:使用 sudo
sudo docker ps
方式三:将administrator添加到Docker组(推荐)
要在不使用sudo的情况下运行Docker命令,请将administrator账户添加到docker组:
sudo usermod -aG docker administrator执行该命令后,请退出SSH会话并重新登录,以使新的组成员身份生效。
然后您可以验证Docker命令是否可以无需提权直接运行:
docker ps这是日常Docker管理推荐的配置方式。
3. 将Docker存储迁移到更大的数据磁盘
默认情况下,Docker将镜像、容器、卷和其他运行时数据存储在:
/var/lib/docker在专用服务器上,操作系统通常安装在较小的系统磁盘上,而更大的数据磁盘可用于存储应用程序数据。
如果您计划运行AI工作负载、Kubernetes集群或使用大型Docker镜像的应用程序,我们建议在部署工作负载之前重新定位Docker的存储目录。
如果Docker已经被使用过,请先复制现有数据:
sudo rsync -aP /var/lib/docker/ /nvme0n1-disk/docker/接下来,编辑Docker守护进程配置文件:
sudo nano /etc/docker/daemon.json将data-root值更新为目标位置,同时保留现有的NVIDIA运行时配置。一个典型的配置如下所示:
{
"exec-opts": [
"native.cgroupdriver=systemd"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
},
"data-root": "/nvme0n1-disk/docker",
"storage-driver": "overlay2"
}保存文件,然后重启Docker:
sudo systemctl restart docker最后,验证新的存储路径:
docker info | grep "Docker Root Dir"您应该看到:
Docker Root Dir: /nvme0n1-disk/docker总结
GPU容器运行时在服务器配置完成后即提供可直接使用的Docker环境。为了帮助您获得最佳体验,我们建议您参考以下最佳实践:
- 验证Docker和GPU加速是否正常工作。
- 如果您计划频繁使用Docker,请将默认的
administrator账户添加到docker组。 - 在专用服务器上,考虑在部署生产工作负载之前将Docker的存储目录迁移到更大的数据磁盘。
这些建议有助于防止常见的权限和存储问题,同时为GPU加速应用程序提供更高效的Docker环境。