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

Problemy z instalacją ping w dockerze

Próbuję postępować zgodnie z samouczkiem docker, ale w maszynie wirtualnej. Próbowałem zainstalować ping w kontenerze ubuntu docker za pomocą polecenia

sudo docker run ubuntu apt-get install ping

Problem polega na tym, że docker nie instaluje niczego i daje odpowiedź 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ę zainstalować cokolwiek.

To są 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 ping co to jest ‘ubuntu’ użyte tutaj?

Z góry dziękuję.

Odpowiedzi (4)

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

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 tagiem repository:w miejsce IMAGE w komendzie RUN

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

uruchom apt-get update raz przed instalacją:

sudo docker run ubuntu apt-get update

patrz 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.

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

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

  1. Docker
  2. Ubuntu
  3. Repozytoria APT

Oto jak ja lubię uruchamiać Ubuntu w kontenerze 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

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

apt-get install iputils-ping

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

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

Zmierzyłem się z tym samym problemem podczas używania obrazu ubuntu 16.04 w dockerze.

Poniższe kroki pomogły mi rozwiązać ten problem.

  1. Zaloguj się do kontenera docker jako bash

  2. Wewnątrz kontenera docker, wykonaj następujące polecenia. Pierwsze zaktualizuj apt-get

  3. Druga zainstaluj iputils-ping

To powinno zadziałać.