如何解决Nvidia-Docker2无法安装在Cloudformation UserData bash脚本中
我创建了一个cloudformation模板,希望通过必需的依赖项(其中这些依赖项在UserData中作为bash安装)来启动ec2实例,以利用docker容器中的GPU硬件。主要依赖项包括:1)nvidia驱动程序,2)docker和3)nvidia-docker2。
前两个依赖项按预期安装,并且在运行了片刻之后可以通过1)nvidia-smi
和docker --version
进行验证。但是,第三个依赖项始终不会安装。
作为参考,以下是我的UserData bash的相关部分:
# install gpu stuff
apt-get install linux-headers-$(uname -r)
distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-$distribution.pin
mv cuda-$distribution.pin /etc/apt/preferences.d/cuda-repository-pin-600
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/7fa2af80.pub
echo "deb http://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | tee /etc/apt/sources.list.d/cuda.list
apt-get update
apt-get -y install cuda-drivers
# install docker on system
curl https://get.docker.com | sh
systemctl start docker && systemctl enable docker
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | tee /etc/apt/sources.list.d/nvidia-docker.list
apt-get -y install nvidia-docker2 > /var/log/mason
# add nvidia runtime stuff
# echo "{ \"runtimes\": { \"nvidia\": { \"path\": \"/usr/bin/nvidia-container-runtime\",\"runtimeArgs\": [] } } }" >> /etc/docker/daemon.json
systemctl restart docker
我尝试将标准输出从apt-get -y install nvidia-docker2
传递到日志文件,但日志仅显示:
Reading package lists...
Building dependency tree...
Reading state information...
并且似乎被卡在那里。
其他潜在的帮助位:
- AMI:ubuntu 18.04图片
我还将注意到,我能够通过SSH进入实例并在命令终端中安装apt-get -y install nvidia-docker2
,而不会出现故障(或任何用户提示或任何内容)。
任何人都可以帮助我解决如何解决此问题,或者在我上面分享的内容中是否看到任何潜在的问题?到文件的stdout管道是我所知道的调试此类问题的唯一技巧。请让我知道是否可以更新/编辑这篇文章,以使此问题更易于调试。
解决方法
基于评论。
此问题是由于在添加nvidia-docker2
存储库后未更新ubuntu的存储库引起的。
解决方案是在添加存储库后运行apt-get update
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。