Обновление API Docker Daemon до версии v1.4

#docker #api

#docker #API

Вопрос:

Я не могу использовать приведенную ниже команду для использования графических процессоров nvidia внутри контейнера :

 docker run --gpus all nvidia/cuda:10.0-base nvidia-smi
  

для «—gpus» требуется версия API 1.40, но версия API Docker daemon 1.39

Для этого требуется API версии 1.4 :

 Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.39
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:45:36 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.9
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.13
  Git commit:       039a7df
  Built:            Wed Sep  4 16:19:38 2019
  OS/Arch:          linux/amd64
  Experimental:     false ```
  

Я не могу найти способ обновить daemon api.

Пожалуйста, помогите.

Комментарии:

1. Вам необходимо обновить системный демон Docker. Обычно я бы ожидал, что две версии, возвращаемые docker version , будут одинаковыми; какие у вас настройки, чтобы они отличались? (Используете ли вы Docker Toolbox или $DOCKER_HOST переменную окружения установили вручную?)

2. @david maze: Я следовал основным инструкциям по установке docker. Да, я установил это вручную. Должен ли я удалить все и переустановить?

3. Вам вообще не нужно будет устанавливать $DOCKER_HOST . На что вы его настроили? Зачем вы это установили? Какая у вашего хоста операционная система?

Ответ №1:

У меня возникла точная проблема. Для меня обновление docker-ce сработало.

 $ apt search docker-ce                                                                                                    
 Sorting... Done
 Full Text Search... Done
 docker-ce/xenial 5:19.03.12~3-0~ubuntu-xenial amd64 [upgradable from: 5:18.09.6~3-0~ubuntu-xenial] Docker: the open-source application container engine

 docker-ce-cli/xenial,now 5:19.03.12~3-0~ubuntu-xenial amd64 [installed,automatic] Docker CLI: the open-source application container engine

$ apt install docker-ce
$ docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
  

Как вы можете видеть, у меня был установлен клиент docker docker-ce-cli (версия 19.03), но установленный сервер docker был v18.09 .

Ответ №2:

Если нет возможности обновить docker (если у вас нет root-прав на этом самом компьютере). И предполагая, что nvidia-docker установлен, попробуйте следующую подпись:

 nvidia-docker run --rm 
  ...
  -e NVIDIA_VISIBLE_DEVICES=0,1 
  ...
  

Таким образом, вы вызовете nvidia-docker runtime и ограничите видимые графические процессоры значением 0,1 (вы выбираете, какие из них должны быть видимыми).