繁体   English   中英

使用node.js应用启动Docker容器会产生错误; 抱怨PATH

[英]Starting a docker container with a node.js app produces error; complains about PATH

我已经将头撞在墙上的墙上已经有一段时间了,需要一点帮助。

我有一个从Dockerfile构建的Docker容器。 当我尝试运行该容器(交互式[-i]或分离的[-d])时,它会产生以下错误:

2014/06/04 21:17:40 exec:“节点”:在$ PATH中找不到可执行文件

这就是我尝试启动容器的方式(出于安全原因将其设为通用):

sudo docker run -i -t -p port:端口containername:containerversion节点/path/to/node/app/nodeapp.js

麻烦和令人困惑的是,当我在未附加该命令的情况下运行容器时,我能够将CD插入目录/ path / to / node / app并运行:

节点nodeapp.js

这对我来说很好。 另外,当我比较“哪个节点”命令的内容和“ echo $ PATH”的输出时,我发现一切都是洁的。 那么,为什么这真的拒绝承认我是它的主人,而应该按照我说的做呢?

nodejs应该可以工作。

我不知道为什么,但是在我的情况下,它安装了名为nodejs node

在Dockerfile中,确保已设置WORKDIR ,并且CMD指令如下所示之一:

CMD ["npm", "start"]

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

尝试像这样运行它:

sudo docker run -i -t -p port:port containername:containerversion /path/to/node/bin/node /path/to/node/app/nodeapp.js

必须将其添加到您的路径中,但是我不知道如何。 但是即使可以,使用上面的完整路径仍然有意义,因为您不会意外地以这种方式运行其他node

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM