我正在尝试在虚拟机中遵循 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
apt-get update
从存储库下载软件包列表并“更新”它们以获取有关软件包及其依赖项的最新版本的信息。
答案3
是的,最终你需要了解三个不同的主题:
- Docker
- Ubuntu
- 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 镜像时遇到同样的问题。
以下步骤帮助我解决了这个问题。
以 bash 身份登录 docker 容器
$ docker exec -it <conatiner id> bash
在docker容器内,执行以下命令。首先更新apt-get
$ apt-get update
第二步安装iputils-ping
$ apt-get install iputils-ping
这应该可行。