【问题标题】:How do I create a single Docker container (Node, Python, FFMPEG)?如何创建单个 Docker 容器(Node、Python、FFMPEG)?
【发布时间】:2018-10-26 03:53:48
【问题描述】:

我的最终目标是拥有一个可以运行我的 Express 服务器的容器。服务器使用 PyShell 运行 Python 以使用 FFMPEG 分析视频。我已经构建了服务器并且运行良好。 问题是,我正在尝试创建一个可以运行这 3 部分操作的 Docker 容器,而且似乎多阶段构建可能是最好的方法。因此,参与的玩家: 节点(快递) Python FFMPEG

在尝试将 FFMPEG 添加到容器中之前,我尝试让 Node 和 Python 在多阶段构建容器中运行。

到目前为止我的 docker 文件:


FROM node:8 作为构建器

WORKDIR /usr/src/app

复制。 .

运行 npm 安装

FROM python:最新

复制 --from=builder 。 .

CMD ["node", "server.js"]


使用 Docker 运行时,结果为:

module.js:550
    throw err;
    ^

Error: Cannot find module '/server.js'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3

如果这是一个非常业余的问题,我深表歉意。据我了解,大多数人使用多阶段构建来精简他们的容器,但构建我梦想中的 3 部分容器似乎真的很容易。 感谢您的任何帮助!

【问题讨论】:

  • 在我看来你没有给它正确的文件路径
  • 感谢您的回复!你的意思是我在 Docker 文件中指定的路径不正确?
  • 我相信他的意思是 docker 无法找到 server.js。当您运行 docker build 命令以将 server.js 拉入 /usr/src/app 时,您是否在正确的目录中?
  • 是的。 Dockerfile 与 server.js 位于同一目录中。构建执行没有任何错误,但是当我尝试运行它时出现错误。

标签: python express docker


【解决方案1】:

解决了! 在构建过程中使用 alpine 安装 python、node 和 ffmpeg。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-14
    • 2021-10-29
    • 2019-12-10
    • 2022-11-15
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多