如何在不重启整个容器的情况下在 docker 容器上重启 Node?

DaN*_*eSh 6 node.js docker boot2docker docker-container

我有一个容器 ==>FROM node:5 每次更改代码后节点都应该重新启动。

但是我没有办法在不重启整个 docker 容器的情况下重启 Node 服务器。

npm install在每次重新启动容器时都会运行 dockerfile 上的许多文件,并且在每次更改代码后等待所有这些文件很烦人。

我已经在使用共享文件夹在我的容器中保存最新代码。

小智 12

如果您只需要在更改后重新启动 Node.js 服务器,node那么您可以使用像node-devnodemon这样的工具,而不是使用命令启动服务器。要利用这些,您需要更新 Dockerfile 中的命令,例如CMD [ "node-dev", "server.js" ].

由于您已经将本地文件作为 Docker 容器中的一个卷,对这些文件的任何更改都将重新启动服务器。

  • 这是问题的实际答案。 (2认同)

Kev*_*tek -6

我认为这不是 Docker 的最佳方式。您应该尝试构建自己的 Docker 映像,其中包含您的代码更改。在您自己的 Docker 映像中,您可以将该npm install步骤作为容器构建的一部分,这样您就不需要在容器启动时运行此命令。