一键安装docker
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 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-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
sudo docker ps
sudo docker images
sudo gpasswd -a $USER docker
newgrp docker
docker ps
docker images
sudo systemctl restart docker
# sudo echo "{ #需要手动操作
# "registry-mirrors": [
# "http://hub-mirror.c.163.com",
# "https://docker.mirrors.ustc.edu.cn",
# "https://registry.docker-cn.com"
# ]
# }" > /etc/docker/daemon.json
service docker restart
docker info
#装nvidia-docker2
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
ERRO[0008] error waiting for container: context canceled :
这个错误信息表明 Docker 在尝试为容器选择一个具有 GPU 能力的设备驱动程序时遇到了问题。这通常发生在尝试运行需要 GPU 支持的容器,但是 Docker 环境中没有正确配置或者缺少必要的 NVIDIA 驱动程序和工具包。
要解决这个问题,你需要确保你的系统满足以下条件:
-
安装 NVIDIA 驱动程序:确保你的主机上安装了正确的 NVIDIA 驱动程序,并且它能够正常工作。你可以使用
nvidia-smi
命令来检查 GPU 的状态和驱动程序版本。 -
安装 NVIDIA Container Toolkit:NVIDIA Container Toolkit 包括
nvidia-docker2
包,它是一个必需的工具,用于在 Docker 容器中启用 GPU 支持。你可以按照以下步骤安装 NVIDIA Container Toolkit:-
添加 NVIDIA 包存储库的 GPG 密钥:
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
-
添加 NVIDIA 容器运行时的软件包存储库:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
-
更新软件包索引并安装
nvidia-docker2
:sudo apt-get update sudo apt-get install -y nvidia-docker2
-
重启 Docker 服务:
sudo systemctl restart docker
-
-
配置 Docker 使用 NVIDIA 运行时:确保 Docker 使用 NVIDIA 运行时来启动容器。你可以通过运行
docker info
命令来检查当前的运行时配置。 -
运行容器时指定 GPU:在运行容器时,使用
--gpus
标志来指定容器应该使用的 GPU。例如:docker run --gpus all nvidia/cuda:11.4.0-base-ubuntu20.04 nvidia-smi
这个命令会启动一个新的容器,并运行
nvidia-smi
来显示 GPU 信息。
如果你已经按照上述步骤操作,但仍然遇到问题,可能需要检查 Docker 的日志文件以获取更详细的错误信息,或者查看 NVIDIA 的官方文档和社区论坛以寻求帮助。