node.js-Docker重新启动入口点
我大约一个月前开始使用docker,但无法找到满足以下情况的令人满意的解决方案. 我想部署一个NodeJS应用程序,并且由于使用ENTRYPOINT是一种最佳实践,所以我更喜欢使用以下命令: 但是,我还没有找到一种方法来重新启动容器中的入口点过程,这意味着每次我在nodejs应用程序中进行更改时,都必须重新启动整个容器,这在具有共享卷的开发环境中会很烦人. 我想到的解决方案是为此使用进程管理器,并执行类似ENTRYPOINT [“ pm2”,“ src / start.js”]的操作,但是对单个进程使用进程管理器对我来说似乎是错误的. 我想寻求一种方法,使我尽可能接近热交换,而无需在我的“开发Docker”和“生产Docker”之间完全更改Dockerfile. TL; DR:应该可以在我的开发机器上不安装NodeJS或应用程序需要的任何东西,而可以在docker容器中运行所有内容,同时能够在所述容器中重新启动节点进程而不必重新启动容器本身.更改Dockerfile对我来说不是一个选择,我想使用ENTRYPOINT. 编辑:
建立图像
使用以下命令在我的工作站上运行容器
最佳答案
这个pm2有一个很棒的npm模块.将其作为全局软件包安装在nodejs基础映像中.
使用ENTRYPOINT [“ pm2-docker”,“ src / start.js”]启动您的应用 然后可以使用docker exec -ti< containerid>输入docker映像. < shell> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |