使用 whois 命令的 Bash 脚本在 docker 上出现“不支持 Servname...”错误

Rad*_*k K 4 bash whois docker

这是我的第一个 Docker 映像,我将自己的 bash 脚本放在那里。此脚本使用该whois命令。docker 运行我的脚本后,出现了一些错误。可能我在我的 dockerfile 上犯了错误。脚本在我的 ubuntu 上运行良好。我应该将/etc/services文件添加到我的图像中吗?

Dockerfile:

FROM ubuntu
ADD ./ip_info /usr/src/ip_info
ADD ./ip_info /bin/ip_info
RUN apt-get update &&  apt-get -y install whois
RUN chmod +x /usr/src/ip_info
CMD ["/usr/src/ip_info"]
Run Code Online (Sandbox Code Playgroud)

错误:

getaddrinfo(whois.ripe.net): Servname not supported for ai_socktype
Run Code Online (Sandbox Code Playgroud)

Rad*_*k K 6

我修好了

RUN apt-get update && apt-get install -y --no-install-recommends ntp
Run Code Online (Sandbox Code Playgroud)

到 dockerfile。

  • `RUN apt-get update && apt-get install -y --no-install-recommends netbase` 就足够了。该包包含所需的文件 /etc/protocols 和 /etc/services。ntp 包之所以有效,是因为它依赖于 netbase。 (2认同)