python - 在 Docker 容器内运行 mitmproxy-node?
问题描述
请注意,Docker 容器在 Jenkins 管道内运行。我正在尝试在 Docker 容器上/中运行特定的 npm 包 mitmproxy-node,它依赖于 python mitmproxy 包。我认为我需要在节点容器中包含 python dep,以便节点代码可以在运行时找到并运行/实例化 mitmproxy(它作为运行时 process.env 打开)
如何构建/修复 Dockerfile 来构建容器,以便 test.runner 所在的节点容器知道/可以使用 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"]
推荐阅读
- java - 无法使用 @UpdateTimestamp 注释更新时间戳
- xml - 如何构建 XPATH 查询以提取模型 metaid
- android - 对带有 View 示例项目的 Android Room 中的一些代码感到困惑
- java - 如何在 apache camel 中将 csv 转换为 json
- ruby-on-rails - 如何在 RSpec 中模拟方法调用
- apache-spark - 从多个 Kafka 主题读取的 Spark 结构化流式应用程序
- javascript - window.open 进行下载,然后是 window.location 更改不下载
- php - 如何仅调用特定的标签 Slug
- vagrantfile - 如何覆盖每个提供商的 Vagrantfile 的 synced_folder 类型?
- python - 调试时在 pool.close() 上抛出异常,但在运行时没有