带有 Debian Wheezy 的 Docker 缺少很多命令!

带有 Debian Wheezy 的 Docker 缺少很多命令!

我从 debian:wheezy 创建了一个 docker 映像,以遵循教程。我只是想知道这个图像有多大用处,因为它不支持很多命令。例如:

“nc”,还有(列表可能很长)、vi、ps、apt、wget、dpkg ...

我只是在寻找一种安装 netcat 工具并最终在容器中运行此脚本的方法:

#!/bin/sh
printf "Logging Mailer has started.\n"
while true
do
   MESSAGE=$(nc -l -p 33333)
   printf "[Message]: %s\n" "$MESSAGE" > $1
   sleep 1
done

当然这是行不通的。知道如何扩展图像以支持更多命令吗?谢谢,我希望这不是题外话。

答案1

您遇到两个问题:

  • 良好的容器基础镜像的要点是提供一个最小但可行的基础,在此基础上构建应用程序所需的任何内容;
  • 不出所料,Wheezy 镜像包含 Wheezy 时代的软件包。

将要找到安装其他软件包所需的必需品,因此dpkgapt-get都存在。该apt命令在 Wheezy 中不存在,因此不可用。当 Wheezy 仍然相关时,您可以通过运行apt-get update(因为映像附带没有索引,以减少其大小)来安装其他软件包,然后运行apt-get install ...​​.但这将不再起作用,因为 Wheezy 包存储库不再可以从/etc/apt/sources.list图像内引用的位置获得。

我不会解释如何修复 Wheezy 图像,因为您不应该将其用于任何新用途。你现在应该使用debian:stretch

相关内容