docker环境
docker: 20 版本(目前测试19和20都可以)
docker-compose: 29 版本(目前测试过25版本 不支持GPU)
显卡驱动: nvidia-driver-460 直接apt install nvidia-driver-460
即可安装(目前测试出470版本无法使用)
docker和docker-compose安装比较简单这里省略,直接用apt装 或者 照着官网或者菜鸟教程撸就是了docker官方安装地址,docker-compose官方安装地址
显卡驱动安装完成后使用
nvidia-smi
命令查看是否安装成功,可能会报显卡不存在的错误,reboot
重启机器就好了
安装nvidia-container-runtime
要在docker中使用GPU必须借助插件nvidia-container-runtime
1. 先去这里根据自己系统安装对应的源
有可能连接会被重置,,改下hosts 就好了,如果命令不能正常执行 把命令分开执行即可
基于 Debian 的发行版的命令如下
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
2. 安装apt install nvidia-container-runtime
apt install nvidia-container-runtime
编辑或添加docker的NVIDIA配置
vim /etc/docker/daemon.json
内容如下
{
"default-runtime": "nvidia","runtimes": {
"nvidia": {
"path": "nvidia-container-runtime","runtimeArgs": []}}
}
3. 重启docker服务
systemctl restart docker
宿主机调用容器内服务的命令
将容器内的服务添加到宿主机的环境变量中
#这里以lotus服务为例子,其他服务以此类推,比如lotus-miner只需要换下面命令中的lotus换成lotus-miner即可
mkdir cmd
cd cmd
echo -e \#\!/bin/sh "\n\ndocker exec -i lotus lotus \$*" >> lotus
chmod +x lotus
echo "PATH=$PATH:$PWD" >> ~/.bashrc && source ~/.bashrc
执行成功,即可在宿主机使用容器中的命令