2014-02-19 12:13:59 +0000 2014-02-19 12:13:59 +0000
67
67

Problemas para instalar ping en docker

Estoy intentando seguir el tutorial de docker pero en una máquina virtual. He intentado instalar ping en el contenedor docker de ubuntu con el comando

sudo docker run ubuntu apt-get install ping

El problema es que docker no instala nada y da la siguiente respuesta

$ 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
$

El mismo problema aparece cuando intento instalar algo.

Estas son mis imágenes:

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

Además, cuando ejecuto sudo docker run ubuntu apt-get install ping ¿qué es lo que usa ‘ubuntu’ aquí?

Gracias de antemano.

Respuestas (4)

79
79
79
2014-12-16 17:48:09 +0000

Según:

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

Prueba con:

sudo docker run ubuntu apt-get install iputils-ping

Eliges un ‘ubuntu’ con repository:tag en lugar de IMAGE en el comando RUN

sudo docker run ubuntu:lucid command
20
20
20
2014-09-25 14:21:16 +0000

ejecute apt-get update una vez antes de la instalación:

sudo docker run ubuntu apt-get update

ver ¿Qué hace sudo apt-get update?

apt-get update descarga las listas de paquetes de los repositorios y las “actualiza” para obtener información sobre las versiones más nuevas de los paquetes y sus dependencias.

8
8
8
2017-04-21 15:59:58 +0000

Sí, en última instancia, necesitas saber sobre tres temas diferentes:

  1. Docker
  2. Ubuntu
  3. Repositorios APT

Así es como me gusta hacer funcionar Ubuntu en un contenedor Docker:

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

Haciéndose eco de lo que recomienda @Michael_Scharf, así es como se actualizan los repositorios APT:

apt-get update

Volviendo a la solución de @VTacius, así es como se instalan las utilidades de IP responsables del comando ping:

apt-get install iputils-ping

Luego para verificar que las cosas funcionan como se espera:

which ping
ping superuser.com
2
2
2
2019-11-12 09:18:37 +0000

Me encontré con el mismo problema al utilizar la imagen de ubuntu 16.04 en docker.

Los siguientes pasos me ayudaron a resolver este problema.

  1. Inicie sesión en el contenedor docker como bash

  2. Dentro del contenedor docker, ejecute los siguientes comandos. Primero actualizar apt-get

  3. Segundo instalar iputils-ping

Esto debería funcionar.