需求:
- 原先在宿主机里运行的服务需要迁移到docker 里
进程:
- docker 支持 gpu 需要装toolkit ,但是正常情况下没有对应的源,所以先引入源文件
bash
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/$distribution/libnvidia-container.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
- 导入并安装
bash
apt-get update && apt-get install -y nvidia-container-toolkit
- 启动docker 查看是否有--gpus 的命令
bash
docker run --gpus all -it test:1.0 nvidia-smi
- 有正常输出就没问题了
拓展:
- docker 启动也可以指定显卡
bash
docker run --gpus "device=1" -it bash nvidia-smi