Problemy z instalacją polecenia ping w oknie dokowanym

61

Próbuję wykonać samouczek dokera, ale na maszynie wirtualnej. Próbowałem zainstalować ping w kontenerze dokującym Ubuntu za pomocą polecenia

sudo docker run ubuntu apt-get install ping

Problem polega na tym, że doker nic nie instaluje i udziela odpowiedzi w następujący sposób

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

Ten sam problem pojawia się, gdy próbuję coś zainstalować.

Oto moje obrazy:

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

Ponadto, kiedy uruchamiam, sudo docker run ubuntu apt-get install pingjakie jest tutaj używane „ubuntu”?

Z góry dziękuję.

Szkot
źródło
Odwiedź: askubuntu.com/q/14685
Pandya
Jeśli instalujesz polecenie ping, przydatne może być także włączenie nslookup; apt-get install dnsutils
PodTech.io 18.10.17

Odpowiedzi:

69

Według:

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

Spróbuj z:

sudo docker run ubuntu apt-get install iputils-ping

Wybierasz „ubuntu” z repozytorium: tag zamiast IMAGE w poleceniu RUN

sudo docker run ubuntu:lucid command
VTacius
źródło
2
Które polecenie uruchomiłeś, aby uzyskać te informacje „Pakiet ping to pakiet wirtualny udostępniany przez: ...”?
Carl G
bash pokazuje ten komunikat po wywołaniu polecenia, którego nie znaleziono. Nie jestem pewien jak.
nicooga,
19

uruchom apt-get updateraz przed instalacją:

sudo docker run ubuntu apt-get update

zobacz Co robi sudo apt-get update?

apt-get update pobiera listy pakietów z repozytoriów i „aktualizuje” je, aby uzyskać informacje o najnowszych wersjach pakietów i ich zależnościach.

Michael_Scharf
źródło
1
Działa to idealnie. docker uruchom -it ubuntu bash, a następnie: apt-get update; apt-get install iputils-ping
formica
7

Tak, ostatecznie musisz wiedzieć o trzech różnych tematach:

  1. Doker
  2. Ubuntu
  3. Repozytoria APT

Oto, jak lubię, aby Ubuntu działało w kontenerze Docker:

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

Zgodnie z zaleceniami @Michael_Scharf, oto sposób aktualizacji repozytoriów APT:

apt-get update

Następnie wracając do rozwiązania @VTacius, oto jak zainstalować narzędzia IP odpowiedzialne za polecenie ping:

apt-get install iputils-ping

Następnie, aby sprawdzić, czy wszystko działa zgodnie z oczekiwaniami:

which ping
ping superuser.com
palmbardier
źródło
Twoja odpowiedź brzmi tak jak inni
Yass
Być może to prawda. Właśnie odkryłem, że każda odpowiedź sama w sobie nie rozwiązała mojego problemu. Każda odpowiedź była specyficzna dla innego elementu układanki, a po zastosowaniu w prawidłowej kolejności połączenie pozostałych odpowiedzi rozwiązało mój problem.
palmbardier 28.04.17