在docker中安装ping的问题

在docker中安装ping的问题

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

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

先感谢您。

答案1

根据:

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',在 RUN 命令中使用仓库:tag 代替 IMAGE

sudo docker run ubuntu:lucid command

答案2

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

sudo docker run ubuntu apt-get update

做什么sudo apt-get update

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

答案3

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

  1. Docker
  2. Ubuntu
  3. APT 存储库

以下是我喜欢在 Docker 容器中运行 Ubuntu 的方法:

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

答案4

在 docker 中使用 ubuntu 16.04 镜像时遇到同样的问题。

以下步骤帮助我解决了这个问题。

  1. 以 bash 身份登录 docker 容器

    $ docker exec -it <conatiner id> bash
    
  2. 在docker容器内,执行以下命令。首先更新apt-get

    $ apt-get update
    
  3. 第二步安装iputils-ping

    $ apt-get install iputils-ping
    

这应该可行。

相关内容