sh: 1: ping: 当来自詹金斯的 运行 工作时找不到

sh: 1: ping: not found when running job from jenkins

我有一个 python 脚本,其中执行了各种 ping 检查。相同的 py 文件 运行 在本地触发时完美无缺,但是当我 运行 构建 docker 图像后来自 jenkins 的作业时,出现以下错误并且 ping 检查总是 return false .

sh: 1: ping: 未找到

谁能帮我解释为什么会出现这个错误,我需要用一些更新来更新 docker 文件还是需要一些 jenkins 配置。

正在更新 docker 文件

FROM ubuntu:18.04

ADD requirements.txt /requirements.txt
ADD jenkins_bot.py /jenkins_bot.py
ADD src /src
ADD config /config
ADD run_unit_tests.sh /run_unit_tests.sh
ADD utests /utests

WORKDIR /

RUN DEBIAN_FRONTEND=noninteractive && apt-get -qq update && \
    apt-get -y install apt-utils && \
    apt-get -qqy install ssh && \
    apt-get -qqy install build-essential \
    python3-dev \
    python3-setuptools \
    libfreetype6-dev \
    libxft-dev && \
    apt-get -qqy install python3-pip && \
    pip3 install -r /requirements.txt
#RUN sh run_unit_tests.sh

提前致谢。

ubuntu 基本映像中缺少 Ping。您可以按如下方式更新您的 dockerfile 以安装它:

FROM ubuntu:18.04

ADD requirements.txt /requirements.txt
ADD jenkins_bot.py /jenkins_bot.py
ADD src /src
ADD config /config
ADD run_unit_tests.sh /run_unit_tests.sh
ADD utests /utests

WORKDIR /

RUN DEBIAN_FRONTEND=noninteractive && apt-get -qq update && \
    apt-get -y install apt-utils && \
    apt-get install -y iputils-ping && \
    apt-get -qqy install ssh && \
    apt-get -qqy install build-essential \
    python3-dev \
    python3-setuptools \
    libfreetype6-dev \
    libxft-dev && \
    apt-get -qqy install python3-pip && \
    pip3 install -r /requirements.txt
#RUN sh run_unit_tests.sh