【发布时间】: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 位于同一目录中。构建执行没有任何错误,但是当我尝试运行它时出现错误。