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

Problemi di installazione di ping in docker

Sto cercando di seguire il tutorial docker ma in una macchina virtuale. Ho provato a installare ping nel contenitore docker di ubuntu con il comando

sudo docker run ubuntu apt-get install ping

Il problema è che docker non installa nulla e dà la risposta come segue

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

Lo stesso problema appare quando provo a installare qualcosa.

Queste sono le mie immagini:

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

Inoltre, quando eseguo sudo docker run ubuntu apt-get install ping cos'è la ‘ubuntu’ usata qui?

Grazie in anticipo.

Risposte (4)

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

Secondo:

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

Prova con:

sudo docker run ubuntu apt-get install iputils-ping

Scegli un ‘ubuntu’ con repository:tag al posto di IMAGE nel comando RUN

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

eseguire apt-get update una volta prima dell'installazione:

sudo docker run ubuntu apt-get update

vedi Cosa fa sudo apt-get update?

apt-get update scarica le liste dei pacchetti dai repository e le “aggiorna” per ottenere informazioni sulle versioni più recenti dei pacchetti e sulle loro dipendenze.

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

Sì, alla fine hai bisogno di conoscere tre diversi argomenti:

  1. Docker
  2. Ubuntu
  3. Repository APT

Ecco come mi piace far funzionare Ubuntu in un contenitore Docker:

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

Echoing what @Michael_Scharf recommends, here’s how you update your APT repositories:

apt-get update

Poi tornando alla soluzione di @VTacius, ecco come installare le utility IP responsabili del comando ping:

apt-get install iputils-ping

Poi per verificare che tutto funzioni come previsto:

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

Affrontato lo stesso problema quando si usa l'immagine di ubuntu 16.04 in docker.

I seguenti passi mi hanno aiutato a risolvere questo problema.

  1. Accedere al contenitore docker come bash

  2. All'interno del contenitore docker, eseguire i seguenti comandi. Primo aggiorna apt-get

    1. Secondo installare iputils-ping

Questo dovrebbe funzionare.