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

Проблемы с установкой ping в докере

Я пытаюсь следовать учебнику докеров, но на виртуальной машине. Я пытался установить ping в контейнер ubuntu docker командой

sudo docker run ubuntu apt-get install ping

Проблема в том, что docker ничего не устанавливает и дает ответ следующим образом

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

Эта же проблема возникает, когда я пытаюсь что-либо установить.

Это мои образы:

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

Также, когда я запускаю sudo docker run ubuntu apt-get install ping что здесь используется ‘ubuntu’?

Заранее спасибо.

Ответы (4)

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

Согласно:

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

Попробуйте с:

sudo docker run ubuntu apt-get install iputils-ping

Вы выбираете ‘ubuntu’ с репозиторием:tag вместо IMAGE в команде RUN

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

запустите apt-get update один раз перед установкой:

sudo docker run ubuntu apt-get update

смотрите Что делает sudo apt-get update?

apt-get update загружает списки пакетов из репозиториев и “обновляет” их, чтобы получить информацию о новейших версиях пакетов и их зависимостях.

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

Да, в конце концов, тебе нужно знать о трех разных темах:

  1. Докер
  2. Убунту
  3. APT репозиториев

Вот как мне нравится, чтобы Ubuntu работал в контейнере Docker:

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

Эхоперация того, что @Michael_Scharf рекомендует, вот как обновить APT репозиториев:

apt-get update

Затем возвращаемся к решению @VTacius, вот как установить утилиты IP, отвечающие за команду ping:

apt-get install iputils-ping

Затем, чтобы проверить, что все работает, как и ожидалось:

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

Столкнулся с той же проблемой при использовании изображения ubuntu 16.04 в докере.

Следующие шаги помогли мне решить эту проблему.

  1. Войдите в докер-контейнер как bash

  2. внутри докер-контейнера, выполните следующие команды. Сначала выполните apt - получите

  3. Во-вторых, установите iputils-ping

Это должно сработать.

Похожие вопросы

6
10
5
37
4