【发布时间】:2021-01-29 02:13:13
【问题描述】:
我创建了一个 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 没有任何障碍(或任何用户提示或任何东西)。
谁能帮我弄清楚如何解决这个问题,或者有人在我上面分享的内容中看到任何潜在的问题吗?到文件的标准输出管道是我所知道的调试此类问题的唯一技巧。请让我知道我是否可以更新/编辑此帖子以使此问题更易于调试。
【问题讨论】:
-
您是否检查了 UserData 的任何日志以检查可能发生的情况?
-
嗨,UserData 的这些日志在哪里?
-
添加存储库后是否运行
apt-get update? -
确实我没有,这是我的问题!哈。
-
很高兴听到。如果您不介意,我会提供答案以供将来参考。
标签: bash amazon-cloudformation ubuntu-18.04 nvidia-docker