Как использовать графический процессор NVIDIA в контейнерах Docker в Ubuntu 22.04 LTS

Kak Ispol Zovat Graficeskij Processor Nvidia V Kontejnerah Docker V Ubuntu 22 04 Lts



Вы можете передавать свой графический процессор NVIDIA в контейнеры Docker и запускать программы CUDA на своем графическом процессоре NVIDIA из этих контейнеров Docker. Это очень полезная функция для изучения ИИ (искусственного интеллекта). Возможность запускать коды AI (например, Tensorflow) в контейнерах Docker сэкономит вам много времени. Вы также можете опробовать свои AI-коды на разных версиях CUDA без необходимости менять версию CUDA на своем компьютере.

Работа с драйверами NVIDIA и версиями CUDA на вашем компьютере может привести к таким проблемам, как неработающие драйверы NVIDIA или появление черного/синего экрана смерти. Поэтому всегда полезно оставить систему такой, какая она есть, и вносить изменения в изолированной среде, такой как контейнеры Docker. Это держит ваш основной компьютер в чистоте (от ненужных инструментов разработки).







В этой статье я собираюсь показать вам, как настроить Docker CE и докер NVIDIA на Ubuntu 22.04 LTS, чтобы вы могли получить доступ к графическому процессору NVIDIA вашего компьютера из контейнеров Docker и запускать программы CUDA на графическом процессоре NVIDIA.



Оглавление:

  1. Проверка того, установлены ли официальные драйверы графического процессора NVIDIA в Ubuntu 22.04
  2. Установка зависимостей Docker CE в Ubuntu 22.04
  3. Установка ключей Docker CE GPG в Ubuntu 22.04
  4. Установка репозитория Docker CE в Ubuntu 22.04
  5. Установка Docker CE на Ubuntu 22.04
  6. Добавление пользователя входа Ubuntu 22.04 LTS в группу докеров
  7. Проверка правильности установки Docker CE в Ubuntu 22.04
  8. Установка ключей GPG NVIDIA Container Toolkit в Ubuntu 22.04
  9. Установка репозитория NVIDIA Container Toolkit в Ubuntu 22.04
  10. Установка драйверов nvidia-docker в Ubuntu 22.04
  11. Проверка доступности графического процессора NVIDIA из контейнеров Docker в Ubuntu 22.04
  12. Заключение
  13. Рекомендации

Проверка того, установлены ли официальные драйверы графического процессора NVIDIA в Ubuntu 22.04 LTS:

Прежде чем начать, выполните следующую команду, чтобы убедиться, что на вашем компьютере установлен графический процессор NVIDIA.



$ lspci | эгреп 'vga|3d|дисплей'





В данном случае на моем компьютере установлен графический процессор NVIDIA GTX 1050 Ti. Скорее всего, на вашем компьютере установлен другой графический процессор NVIDIA.


Кроме того, убедитесь, что в вашей операционной системе Ubuntu 22.04 установлены официальные драйверы NVIDIA с помощью следующей команды:



$ lsmod | схватить нвидиа

Если в вашей операционной системе Ubuntu 22.04 установлены официальные драйверы NVIDIA, вы увидите следующие результаты.


Также проверьте, работают ли официальные драйверы графического процессора NVIDIA с помощью следующей команды:

$ nvidia-smi

Если официальные драйверы графического процессора NVIDIA работают, вы увидите следующие результаты. Как видите, на моем компьютере с Ubuntu 22.04 установлен официальный драйвер NVIDIA GPU версии 525.78.01.


Если на вашем компьютере с Ubuntu 22.04 не установлены официальные драйверы графического процессора NVIDIA и вам нужна помощь в этом, ознакомьтесь со статьей .

Установка зависимостей Docker CE в Ubuntu 22.04 LTS:

Прежде чем вы сможете установить Docker CE в Ubuntu 22.04, вам необходимо установить необходимые пакеты зависимостей Docker CE в Ubuntu 22.04.

Сначала обновите кэш репозитория пакетов APT с помощью следующей команды:

$ судо удачное обновление

Кэш репозитория пакетов APT должен быть обновлен.


Чтобы установить необходимые пакеты зависимостей Docker CE, выполните следующую команду:

$ судо apt-получить установку ca-сертификаты curl gnupg lsb-release

Для подтверждения установки нажмите И а затем нажмите <Ввод> .


Должны быть установлены необходимые пакеты зависимостей Docker CE.

Установка ключей Docker CE GPG на Ubuntu 22.04 LTS:

В этом разделе я покажу вам, как установить ключ GPG репозитория пакетов Docker CE в Ubuntu 22.04.

Сначала создайте новую папку /etc/apt/ключи с помощью следующей команды:

$ судо мкдир -п / и т. д. / подходящий / брелоки

Чтобы установить ключ GPG репозитория пакетов Docker CE в Ubuntu 22.04, выполните следующую команду:

$ завиток -fsSL https: // скачать.docker.com / линукс / убунту / gpg | судо gpg --dearmor / и т. д. / подходящий / брелоки / докер.gpg

Установка репозитория Docker CE в Ubuntu 22.04 LTS:

Чтобы установить репозиторий пакетов Docker CE в Ubuntu 22.04, выполните следующую команду:

$ эхо 'деб [арх= $(dpkg --print-архитектура) подписанный=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) стабильный' | судо тройник / и т. д. / подходящий / источники.list.d / список докеров > / разработчик / нулевой

Обновите кэш репозитория пакетов APT, чтобы изменения вступили в силу.

$ судо удачное обновление


Установка Docker CE на Ubuntu 22.04 LTS:

Чтобы установить последнюю версию Docker CE на Ubuntu 22.04, выполните следующую команду:

$ судо apt-получить установку docker-ce docker-ce-cli containerd.io docker-compose-plugin

Для подтверждения установки нажмите И а затем нажмите <Ввод> .


Docker CE и необходимые пакеты зависимостей загружаются. Это займет некоторое время.


Docker CE и необходимые пакеты зависимостей устанавливаются. Это займет некоторое время.


На этом этапе должны быть установлены Docker CE и необходимые пакеты зависимостей.

Добавление пользователя входа Ubuntu 22.04 LTS в группу докеров:

Чтобы создавать контейнеры Docker и управлять ими без использования sudo или авторизации в качестве пользователя root, вам необходимо добавить пользователя для входа в докер группа.

Чтобы добавить пользователя для входа в Ubuntu 22.04 в докер группа, выполните следующую команду:

$ судо пользовательский мод -аГ докер $ ( кто я )

Чтобы изменения вступили в силу, перезагрузите компьютер с помощью следующей команды:

$ судо перезагрузить

Проверка правильности установки Docker CE в Ubuntu 22.04 LTS:

После запуска компьютера выполните следующую команду, чтобы убедиться, что вы можете получить доступ к Docker без привилегий суперпользователя.

$ докер версия

Если все работает, вы должны увидеть следующие результаты.

Как видите, я использую Docker версии 20.10.23 — последнюю версию Docker CE на момент написания этой статьи.

Установка ключей GPG NVIDIA Container Toolkit в Ubuntu 22.04:

В этом разделе я покажу вам, как установить ключ GPG репозитория пакетов NVIDIA Container Toolkit в Ubuntu 22.04.

Чтобы установить ключ GPG репозитория пакетов NVIDIA Container Toolkit в Ubuntu 22.04, выполните следующую команду:

$ завиток -fsSL https: // nvidia.github.io / libnvidia-контейнер / gpgkey | судо gpg --dearmor / usr / делиться / брелоки / nvidia-контейнер-тулкит-keyring.gpg

Установка репозитория NVIDIA Container Toolkit в Ubuntu 22.04 LTS:

В этом разделе я покажу вам, как установить репозиторий пакетов NVIDIA Container Toolkit в Ubuntu 22.04.

Сначала создайте новый исходный файл APT. nvidia-контейнер-toolkit.list в /etc/apt/sources.list.d/ каталог следующим образом:

$ судо нано / и т. д. / подходящий / источники.list.d / nvidia-контейнер-toolkit.list

в nvidia-контейнер-toolkit.list файл, добавьте следующую строку и нажмите + Икс с последующим И и <Ввод> чтобы сохранить файл.

что [ подписанный = / usr / делиться / брелоки / nvidia-контейнер-тулкит-keyring.gpg ] https: // nvidia.github.io / libnvidia-контейнер / стабильный / бесплатно22.04 / $ ( АРКА ) /



Если вы используете Ubuntu 20.04 LTS, все, что вам нужно сделать, это добавить следующую строку в nvidia-контейнер-toolkit.list файл, а все остальное должно работать без изменений.

что [ подписанный = / usr / делиться / брелоки / nvidia-контейнер-тулкит-keyring.gpg ] https: // nvidia.github.io / libnvidia-контейнер / стабильный / бесплатно20.04 / $ ( АРКА ) /


Если вы используете Ubuntu 18.04 LTS, все, что вам нужно сделать, это добавить следующую строку в nvidia-контейнер-toolkit.list файл, а все остальное должно работать без изменений.

что [ подписанный = / usr / делиться / брелоки / nvidia-контейнер-тулкит-keyring.gpg ] https: // nvidia.github.io / libnvidia-контейнер / стабильный / бесплатно18.04 / $ ( АРКА ) /


Чтобы изменения вступили в силу, обновите кэш репозитория пакетов APT с помощью следующей команды:

$ судо удачное обновление


Установка драйверов nvidia-docker в Ubuntu 22.04 LTS:

Чтобы установить драйверы NVIDIA Docker в Ubuntu 22.04, выполните следующую команду:

$ судо подходящий установить nvidia-докер2

Для подтверждения установки нажмите И а затем нажмите <Ввод> .


Должны быть установлены драйверы докера NVIDIA.


Чтобы изменения вступили в силу, перезагрузите компьютер с помощью следующей команды:

$ судо перезагрузить

Проверка доступности графического процессора NVIDIA из контейнеров Docker в Ubuntu 22.04 LTS:

В этом разделе я покажу вам, как создать Докер-контейнер NVIDIA CUDA и убедитесь, что контейнер может получить доступ к графическому процессору NVIDIA с вашего компьютера.

Чтобы создать контейнер NVIDIA CUDA 12 Docker на основе Ubuntu 20.04 LTS и запустить nvidia-smi команду в нем после его создания, чтобы проверить, может ли он получить доступ к графическому процессору NVIDIA с вашего компьютера, выполните следующую команду:

$ докер запустить --rm --gpus все нвидиа / cuda: 12.0.0-base-ubuntu20.04 nvidia-smi

Докер тянет нвидиа/куда: 12.0.0-база-убунту20.04 изображение из Docker Hub. Это займет некоторое время.


После извлечения образа докера NVIDIA CUDA и создания контейнера nvidia-smi команда запустится на нем и выведет вывод на консоль, как вы можете видеть на снимке экрана ниже.

Контейнер Docker использует Драйвер графического процессора NVIDIA 525.78.01 [1] и CUDA версии 12.0 [2] . Если вы видите похожие результаты, контейнер Docker может получить доступ к графическому процессору NVIDIA вашего компьютера.


Если вам нужно использовать более старые версии CUDA, проверьте .

Заключение:

В этой статье я показал вам, как настроить репозиторий пакетов Docker CE в Ubuntu 22.04. Я также показал вам, как установить последнюю версию Docker CE на Ubuntu 22.04. Я показал вам, как установить репозиторий пакетов NVIDIA Container Toolkit в Ubuntu 22.04, а также как установить драйвер NVIDIA Docker в Ubuntu 22.04. Наконец, я показал вам, как получить доступ к графическому процессору NVIDIA вашего компьютера из контейнера Docker.

Использованная литература: