Não é possível instalar o nvidia-docker2 no bionic Ubuntu 18.04 LTS

1

Sou novo em Docker e tenho uma experiência limitada ao trabalhar com Linux . Tentando aumentar o GIT project (um projeto de aprendizado de máquina hospedado no Github). O projeto usa GPU (Nvidia) e depende de Docker e nvidia-docker2 e é codificado em Python (3.5) .

Seguindo o README.md , prossigo com sucesso até receber um erro ao instalar o nvidia-docker2 . (A primeira parte do readme.me até e incluindo a instalação do nvidia-docker2 está no link acima).

Para elaborar um pouco, o arquivo README.md tem um guia de instalação passo a passo sobre como executar o projeto que ele inicia com a instalação de drivers nvidia e outras bibliotecas que eu posso instalar e verificar se eles estão funcionando. Mas quando se trata da instalação de nvidia-docker2 :

 sudo apt-get install -y nvidia-docker2

Eu recebo o seguinte erro:

 The following packages have unmet dependencies:
 nvidia-docker2 : Depends: docker-ce (= 18.03.1~ce~3-0~ubuntu) but 
                    18.05.0~ce~3-0~ubuntu is to be installed or
                   docker-ee (= 18.03.1~ee~3-0~ubuntu) but it is not 

Qualquer comentário de ajuda é bem-vindo! Por favor, veja algumas elaborações adicionais abaixo, e no final do post, descrevo algumas das minhas tentativas para resolver este problema.

Obrigado!

Algumas elaborações:

Eu alcanço a parte em que preciso instalar o docker e tudo corre bem, (citando o README.md ) Eu corro:

sudo apt-get update
sudo apt-get remove docker docker-engine docker.io
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
sudo docker run hello-world
sudo usermod -a -G docker $USER

Funciona bem e posso verificar:

 sudo apt-get install -y nvidia-docker2

Então, quando eu verificar

sudo docker version

Eu obtenho o docker lates para ubuntu biônico que eu tenho.

Client:
 Version:      18.05.0-ce
 API version:  1.37
 Go version:   go1.9.5
 Git commit:   f150324
 Built:        Wed May  9 22:16:13 2018
 OS/Arch:      linux/amd64
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.05.0-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   f150324
  Built:        Wed May  9 22:14:23 2018
  OS/Arch:      linux/amd64
  Experimental: false

Posso verificar se a janela de encaixe está configurada e pode executar:

 sudo docker run hello-world

então eu recebo:

 Hello from Docker! 
 [...]

No entanto, quando passo para o próximo bloco de instruções no README.md, onde tenho que instalar o nvidia-docker2 , recebo um erro:

eu corro

 docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
 sudo apt-get purge -y nvidia-docker
 curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
 distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
 curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia- 
 docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
 sudo apt-get update

e finalmente:

 sudo apt-get install -y nvidia-docker2

o erro aparece:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nvidia-docker2 : Depends: docker-ce (= 18.03.1~ce~3-0~ubuntu) but     18.05.0~ce~3-0~ubuntu is to be installed or
                       docker-ee (= 18.03.1~ee~3-0~ubuntu) but it is not     installable
E: Unable to correct problems, you have held broken packages.

O que tentei fazer para resolver o problema:

  • Eu pesquisei o meu problema e encontrei este tíquete no nvidia-github. O ticket está fechado, mas (provavelmente devido à falta de experiência com o Linux) eu posso conseguir o que eles estão realmente dizendo - o nvidia-docker2 ainda não é suportado no Ubuntu18.04?
  • No mesmo tíquete , o último post de rockper sugere instale docker.io em vez de docker-ce , o que deve resolver nvidia-docekr2 issue. Eu sigo sua sugestão, por exemplo, instale docker.io (e também edito o /etc/apt/sources.list como recomendado pelo rockper). Então, posso verificar se instalei com sucesso docker.io , por exemplo:

.

 sudo docker version


 Client:
 Version:    17.12.1-ce
 API version:    1.35
 Go version:    go1.10.1
  Git commit:    7390fc6
  Built:    Wed Apr 18 01:23:11 2018
  OS/Arch:    linux/amd64

 Server:
  Engine:
  Version:    17.12.1-ce
  API version:    1.35 (minimum version 1.12)
  Go version:    go1.10.1
  Git commit:    7390fc6
  Built:    Wed Feb 28 17:46:05 2018
  OS/Arch:    linux/amd64
  Experimental:    false

Qual é o pacote mais recente do docker.io no ubuntu . Mas ainda recebo um erro (embora um relatório um pouco diferente)

 sudo apt-get install -y nvidia-docker2

 The following packages have unmet dependencies:
 nvidia-docker2 : Depends: docker-ce (= 18.03.1~ce~3-0~ubuntu) but it is not 
 going to be installed or
                       docker-ee (= 18.03.1~ee~3-0~ubuntu) but it is not installable
 E: Unable to correct problems, you have held broken packages.
    
por them 24.06.2018 / 16:04

1 resposta

1

Eu resolvi esse problema instalando o pacote docker-ce (community edition) específico e não o mais recente (que é a versão 18.05)

sudo apt-get install -y docker-ce=18.03.13-0~ubuntu

As instruções completas para a instalação do docker-ce podem ser encontradas no link

    
por 28.06.2018 / 11:09