在docker中安装ping时出现问题


61

我正在尝试在虚拟机中遵循Docker教程。我尝试使用以下命令在ubuntu docker容器中安装ping

sudo docker run ubuntu apt-get install ping

问题是码头工人没有安装任何东西,并给出了如下答案

$ 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”是什么?

先感谢您。



如果您安装ping,则还可以包括nslookup;apt-get install dnsutils
PodTech.io

Answers:


69

根据:

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

您可以在RUN命令中选择带有repository:tag的“ ubuntu”代替IMAGE

sudo docker run ubuntu:lucid command

2
您运行了哪个命令来获取此信息“ Package Ping是由...提供的虚拟包”?
卡尔·G

当您调用未找到的命令时,bash显示该消息。不确定如何。
nicooga

19

apt-get update在安装前运行一次:

sudo docker run ubuntu apt-get update

看到sudo apt-get update什么?

apt-get update 从存储库下载软件包列表,然后“更新”它们以获取有关软件包的最新版本及其依赖项的信息。


1
这是完美的。docker运行-it ubuntu bash,然后:apt-get update; apt-get install iputils-ping
福米卡

7

是的,最终您需要了解三个不同的主题:

  1. 码头工人
  2. 的Ubuntu
  3. APT资料库

这是我想让Ubuntu在Docker容器中运行的方式:

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

回应@Michael_Scharf的建议,以下是更新APT存储库的方法:

apt-get update

然后回到@VTacius的解决方案,这里是如何安装负责ping命令的IP实用程序:

apt-get install iputils-ping

然后验证事情是否按预期工作:

which ping
ping superuser.com

您的答案与其他答案一样
yass

也许是真的。我只是发现,每个答案本身并不能解决我的问题。每个答案都针对不同的谜题,以正确的顺序应用时,这些其他答案的组合确实解决了我的问题。
palmbardier
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.