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.