Probleme beim Installieren von Ping im Docker


61

Ich versuche, dem Docker-Tutorial zu folgen, aber in einer virtuellen Maschine. Ich habe versucht, Ping in Ubuntu Docker Container mit dem Befehl zu installieren

sudo docker run ubuntu apt-get install ping

Das Problem ist, dass Docker nichts installiert und die Antwort wie folgt gibt

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

Das gleiche Problem tritt auf, wenn ich versuche, etwas zu installieren.

Das sind meine Bilder:

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

Auch wenn ich laufe, sudo docker run ubuntu apt-get install pingwas ist das 'Ubuntu', das hier verwendet wird?

Danke im Voraus.



Wenn Sie Ping installieren, kann es hilfreich sein, auch nslookup einzuschließen. apt-get install dnsutils
PodTech.io

Antworten:


69

Gemäß:

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

Versuche es mit:

sudo docker run ubuntu apt-get install iputils-ping

Sie wählen ein "Ubuntu" mit dem Tag "repository:" anstelle von "IMAGE" im Befehl "RUN"

sudo docker run ubuntu:lucid command

2
Welchen Befehl haben Sie ausgeführt, um diese Information zu erhalten: "Package Ping ist ein virtuelles Paket, das bereitgestellt wird von: ..."?
Carl G

Bash zeigt diese Meldung an, wenn Sie einen Befehl aufrufen, der nicht gefunden wird. Ich weiß nicht wie.
Nicooga

19

apt-get updateeinmal vor der Installation ausführen :

sudo docker run ubuntu apt-get update

siehe Was ist zu sudo apt-get updatetun?

apt-get update Lädt die Paketlisten aus den Repositorys herunter und "aktualisiert" sie, um Informationen zu den neuesten Versionen von Paketen und deren Abhängigkeiten zu erhalten.


1
Das funktioniert einwandfrei. docker run -it ubuntu bash, dann: apt-get update; Apt-Get installieren iputils-Ping
Formica

7

Ja, letztendlich müssen Sie drei verschiedene Themen kennen:

  1. Docker
  2. Ubuntu
  3. APT-Repositorys

So bringen Sie Ubuntu in einem Docker-Container zum Laufen:

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

In Anlehnung an die Empfehlungen von @Michael_Scharf aktualisieren Sie Ihre APT-Repositorys wie folgt:

apt-get update

Gehen Sie dann zur Lösung von @VTacius zurück und installieren Sie die IP-Dienstprogramme, die für den Befehl ping verantwortlich sind:

apt-get install iputils-ping

Um zu überprüfen, ob die Dinge wie erwartet funktionieren, gehen Sie wie folgt vor:

which ping
ping superuser.com

Ihre Antwort ist wie die anderen
yass

Vielleicht stimmt das ja. Ich habe gerade festgestellt, dass jede Antwort für sich genommen mein Problem nicht gelöst hat. Jede Antwort war spezifisch für ein anderes Puzzleteil, und wenn sie in der richtigen Reihenfolge angewendet wurde, löste die Kombination dieser anderen Antworten mein Problem.
Palmbardier
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.