【发布时间】:2020-04-02 09:30:27
【问题描述】:
我正在尝试在 docker 中设置 nodejs 开发环境,我还希望热重载和源文件在本地和容器中同步,任何帮助都可以得到,谢谢
【问题讨论】:
标签: node.js docker docker-compose
我正在尝试在 docker 中设置 nodejs 开发环境,我还希望热重载和源文件在本地和容器中同步,任何帮助都可以得到,谢谢
【问题讨论】:
标签: node.js docker docker-compose
这是一个很好的article,用于在开发环境的 docker 容器中热重载源文件。
【讨论】:
要在本地和容器中同步的源文件
要实现这一点,您基本上只需要将项目目录挂载到容器中,如 the official documentation 所说。例如:
docker run -v $PWD:/home/node node:alpine node index.js
它的作用是:
它将基于node:alpine镜像运行容器;
node index.js 命令将在容器准备就绪时执行;
控制台输出将来自容器到您的主机控制台,因此您可以进行调试。如果您不想看到输出但将控制权返回给控制台,则可以使用标志 -d。
而且,最有价值的是你的当前目录($PWD)与容器的/home/node/目录完全同步。任何文件更新都会立即显示在您的容器文件中。
我也想要热重载
这取决于您为应用程序提供服务所使用的方法。
例如,您可以将Webpack dev server 与热重载设置一起使用。之后,您只需将一个端口映射到您的 webpack 开发服务器的端口。
docker run \
-v $PWD:/home/node \
-p 8080:8080 \
node:alpine \
webpack-dev-server \
--host 0.0.0.0 \
--port 8080
【讨论】: