У меня есть шаблон cloudformation, который я создал в надежде развернуть экземпляр ec2 с необходимыми зависимостями (где эти зависимости установлены как bash в UserData), чтобы использовать аппаратное обеспечение графического процессора в контейнере докеров. Основные зависимости: 1) драйверы nvidia, 2) докер и 3) nvidia-docker2.
Первые две зависимости устанавливаются, как и ожидалось, и после нескольких моментов работы их можно проверить с помощью 1) nvidia-smi
и docker --version
. Однако третья зависимость последовательно не устанавливается.
Для справки, вот соответствующие части моего bash UserData:
# 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 pipe to file — это единственный известный мне способ отладки такой проблемы. Пожалуйста, дайте мне знать, если я могу обновить/отредактировать этот пост, чтобы упростить отладку этой проблемы.
apt-get update
после добавления репозитория? - person Marcin   schedule 16.10.2020