Problemas na instalação do ping na janela de encaixe

61

Estou tentando seguir o tutorial do docker, mas em uma máquina virtual. Eu tentei instalar o ping no container docker do ubuntu com o comando

sudo docker run ubuntu apt-get install ping

O problema é que o docker não instala nada e fornece a resposta da seguinte maneira

$ sudo docker run ubuntu apt-get install ping
Reading package lists...
Building dependency tree...
Package ping is a virtual package provided by:
  inetutils-ping 2:1.8-6
  iputils-ping 3:20101006-1ubuntu1

E: Package 'ping' has no installation candidate
$

O mesmo problema aparece quando estou tentando instalar alguma coisa.

Estas são as minhas imagens:

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>              <none>              3a28cc5bcc53        19 minutes ago      247.6 MB
baselDaemon         latest              4e892058b0b2        4 days ago          204.4 MB
ubuntu              13.10               9f676bd305a4        2 weeks ago         178 MB
ubuntu              saucy               9f676bd305a4        2 weeks ago         178 MB
ubuntu              13.04               eb601b8965b8        2 weeks ago         166.5 MB
ubuntu              raring              eb601b8965b8        2 weeks ago         166.5 MB
ubuntu              12.10               5ac751e8d623        2 weeks ago         161 MB
ubuntu              quantal             5ac751e8d623        2 weeks ago         161 MB
ubuntu              10.04               9cc9ea5ea540        2 weeks ago         180.8 MB
ubuntu              lucid               9cc9ea5ea540        2 weeks ago         180.8 MB
ubuntu              12.04               9cd978db300e        2 weeks ago         204.4 MB
ubuntu              latest              9cd978db300e        2 weeks ago         204.4 MB
ubuntu              precise             9cd978db300e        2 weeks ago         204.4 MB
learn/tutorial      latest              8dbd9e392a96        10 months ago       128 MB

Além disso, quando executo o sudo docker run ubuntu apt-get install pingque é o 'ubuntu' usado aqui?

Agradeço antecipadamente.

Scot
fonte
Visite: askubuntu.com/q/14685
Pandya
Se você estiver instalando ping, pode ser útil incluir também nslookup; apt-get install dnsutils
PodTech.io

Respostas:

69

De acordo com:

Package ping is a virtual package provided by:
  inetutils-ping 2:1.8-6
  iputils-ping 3:20101006-1ubuntu1

E: Package 'ping' has no installation candidate

Tente com:

sudo docker run ubuntu apt-get install iputils-ping

Você escolhe um 'ubuntu' com o repositório: tag no lugar de IMAGE no comando RUN

sudo docker run ubuntu:lucid command
VTacius
fonte
2
Qual comando você executou para obter essas informações "O ping do pacote é um pacote virtual fornecido por: ..."?
Carl G
o bash mostra essa mensagem quando você chama um comando que não foi encontrado. Não tenho certeza de como.
Nicooga
19

execute apt-get updateuma vez antes da instalação:

sudo docker run ubuntu apt-get update

veja O que sudo apt-get updatefaz?

apt-get update baixa as listas de pacotes dos repositórios e as "atualiza" para obter informações sobre as versões mais recentes dos pacotes e suas dependências.

Michael_Scharf
fonte
1
Isso funciona corretamente. docker execute -it ubuntu bash, então: apt-get update; apt-get install iputils-ping
formica
7

Sim, em última análise, você precisa conhecer três tópicos diferentes:

  1. Docker
  2. Ubuntu
  3. Repositórios APT

Aqui está como eu gosto de rodar o Ubuntu em um contêiner do Docker:

docker run -i -t ubuntu:16.04 /bin/bash

Fazendo eco ao que o @Michael_Scharf recomenda, veja como você atualiza seus repositórios do APT:

apt-get update

Depois, voltando à solução @VTacius, veja como instalar os utilitários IP responsáveis ​​pelo comando ping:

apt-get install iputils-ping

Em seguida, para verificar se as coisas estão funcionando conforme o esperado:

which ping
ping superuser.com
palmbardier
fonte
A sua resposta é como os outros
yass
Talvez seja verdade. Acabei de descobrir que cada resposta por si só não resolveu meu problema. Cada resposta foi específica para uma peça diferente do quebra-cabeça e, quando aplicada na ordem correta, a combinação dessas outras respostas resolveu meu problema.
palmbardier
1

Enfrentou o mesmo problema ao usar a imagem do ubuntu 16.04 na janela de encaixe.

As etapas a seguir me ajudaram a resolver esse problema.

1. Faça logon no container docker como bash

$ docker exec -it bash

  1. dentro do contêiner do docker, execute os seguintes comandos. Primeira atualização do apt-get

root @ ******: / # apt-get update

  1. Segunda instalação iputils-ping

root @ ******: / # apt-get install iputils-ping

Isso deve funcionar.

Tapan Hegde
fonte