|
17
|
| MichaÅ CzapliÅski · 技术社区 · 9 年前 |
|
1
12
我看到短语“实时重新加载”用于两种不同类型的重新加载:
认为 你指的是第一种类型,所以下面的答案解决了这个问题。 这里的问题是 . 请记住,docker容器与主机是隔离的,具体来说,容器中运行的进程不同于主机上运行的进程(通常不能与之交互)。在您的例子中,您选择在容器中装载一个主机目录,但这只是文件系统,而不是进程。
现在,您还没有提到您正在使用什么方法来处理实时重新加载,但这不会有太大的区别。它们基本上都以相同的方式工作:在更改应用程序代码时,杀死现有进程并启动一个新进程。 要解决这个问题,您有两个选择:
首先,你可以遵循@MarkS的建议并使用
在Dockerfile中
另一种方法是在开发期间在Docker环境之外的主机上运行代码,然后在部署时将其打包到映像中,这就是我要做的。这解决了两个问题:
|
|
2
3
我拥有的和您拥有的唯一区别是,我的Dockerfile中没有COPY指令。试着移除它,看看它是否有效。 我还使用nodemon在代码更改时自动重新启动节点服务器: |
|
|
3
0
即使我在使用nodemon,我也遇到了类似的问题。对我来说,有效的解决方案是将docker compose文件中的node应用程序的体积更改为从中读取
|
|
|
Maxim Kitsenko · 如何对某些服务进行“整理”? 2 年前 |