我正在尝试通过使用以下Docker命令在Docker容器中启动现有的MEAN堆栈应用程序:
CMD ["pm2-runtime", "-i", "3", "npm", "--", "run-script", "start:prod"]
该命令确实启动了3个PM2实例,但是npm部分似乎没有运行run-script部分,并且在每个实例中均挂有以下消息:
Usage: npm <command>
where <command> is one of:
access, adduser, bin, bugs, c, cache, completion, config,
ddp, dedupe, deprecate, dist-tag, docs, edit, explore, get,
help, help-search, i, init, install, install-test, it, link,
list, ln, login, logout, ls, outdated, owner, pack, ping,
prefix, prune, publish, rb, rebuild, repo, restart, root,
run, run-script, s, se, search, set, shrinkwrap, star,
stars, start, stop, t, tag, team, test, tst, un, uninstall,
如果我删除“-i”,“ 3” 部分,它将以“ fork”模式正确启动该应用程序的1个实例。
考虑到NPM与运行脚本一起使用,是否有人知道启动3个实例的正确语法是什么?
谢谢
答案 0 :(得分:0)
--
是特定于bash
的功能,表示命令行选项的结尾。
但是,您没有运行bash
,而是调用了pm2-runtime
二进制并将参数传递给它。
因此,它本质上等效于以--
作为命令调用npm。
我认为--
可以删除并且应该可以使用。