运行 Docker 容器内的 mitmproxy-node?

run mitmproxy-node inside of a Docker container?

请注意,Docker 容器在 Jenkins 管道中 运行。我正在尝试 运行 一个特定的 npm 包 mitmproxy-node on/in 一个 Docker 容器,它依赖于 python mitmproxy 包。我认为我需要在节点容器中包含 python dep,以便节点代码可以在 运行 时间内找到并 run/instantiate mitmproxy(它作为 运行时间process.env)

我如何 construct/fix 一个 Docker 文件来构建容器,以便 test.runner 存在的节点容器 knows/can 使用 python mitmproxy 代码 ?

我有这样的东西。

FROM node:14.15-buster

COPY .package*.json .package*.json
COPY .npmrc .npmrc

is it here? RUN apt-get install python ?
RUN npm install

COPY . . 
CMD ("npm", "test")

尝试实例化 mitmproxy 时,抛出错误

Error in beforeSession: 
Error: mitmdump, which is an executable that ships with mitmproxy, is not on your PATH. 
Please ensure that you can run mitmdump --version successfully from your command line.

我在 Docker 方面还很陌生,非常感谢您的帮助。

这是让我到达目的地的完整 dockerfile。

FROM node:14.15.0-buster
WORKDIR /usr/src/app

RUN apt-get update || : && apt-get install python3 -y -V
ENV PATH="${PATH}:/usr/bin/python3"

RUN apt-get install python3-pip -y -V
RUN pip3 install mitmproxy
ENV PATH="${PATH}:/usr/bin/mitmproxy"

ARG NPM_TOKEN

COPY package*.json ./
COPY .npmrc .

RUN npm install

COPY . .

CMD ["npm", "test"]