首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当docker容器中的代码发生更改时,nodemon不会重新启动服务器

的原因是因为nodemon是一个用于监视文件更改并自动重启Node.js应用程序的工具,而在docker容器中,文件系统是被隔离的,容器内的文件更改不会直接反映到宿主机的文件系统上。因此,nodemon无法检测到容器内代码的更改。

解决这个问题的一种方法是使用Docker的文件同步功能,例如使用Docker的文件挂载(volume mount)功能,将宿主机的代码目录挂载到容器内部。这样,当宿主机上的代码发生更改时,容器内的代码也会相应地更新,nodemon就能够检测到代码的更改并重新启动服务器。

另一种方法是使用Docker的热重载功能,例如使用nodemon的热重载插件或者使用PM2等进程管理工具。这些工具可以监视容器内的文件更改,并在检测到更改时重新启动服务器。

总结起来,解决docker容器中代码更改不触发nodemon重新启动服务器的问题,可以采用以下方法之一:

  1. 使用Docker的文件挂载功能,将宿主机的代码目录挂载到容器内部。
  2. 使用nodemon的热重载插件或者使用PM2等进程管理工具,监视容器内的文件更改并重新启动服务器。

腾讯云相关产品推荐:

  • 文件存储:腾讯云对象存储(COS)是一种高可用、高可靠、强安全的云端存储服务,适用于存储和处理任意类型的文件,支持海量数据存储和访问。了解更多:腾讯云对象存储(COS)
  • 容器服务:腾讯云容器服务(TKE)是一种高度可扩展的容器管理服务,支持自动化部署、弹性伸缩和高可用性,提供稳定可靠的容器运行环境。了解更多:腾讯云容器服务(TKE)
  • 云服务器:腾讯云云服务器(CVM)是一种弹性计算服务,提供可扩展的虚拟服务器,适用于各种应用场景。了解更多:腾讯云云服务器(CVM)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何搭建 Express 网站

Node.js站点时,每次进行更改时都需要重新启动应用程序。...Nodemon会在每次更改时重新加载您应用程序,因此您无需重新启动它。...如果这不起作用,请尝试以下命令: DEBUG=express_example nodemon npm start 使用nodemon意味着每次进行更改时都不必重新启动应用程序。...有关nodemon更多信息,请参阅自述文件。 ExpressHTML Express对于您使用模板语言是不可知。在示例,我们使用jade来设置布局模板。...如果您想长期保持您网站的话,您也可以点击这里购买腾讯云服务器,其可以提供稳定,安全,快速云服务,并且可以对服务器内容进行定期快照,保护您网站数据不会丢失。

4.8K86

Docker Compose 5种常见错误

错误:频繁容器重建 docker build需要很长时间。如果每次想要测试一个代码改时都要重新构建你容器,那么你就有很大潜力来加速你开发循环。...人们第一次采用容器时,他们倾向于采用现有的工作流程,只添加一个docker build步骤。...解决方案:在 Docker 外运行你代码 一种方案是在 Docker Compose 启动所有依赖项,但在本地运行你正在积极处理代码。这模仿了开发非容器化应用程序工作流。...解决方案:使用主机卷 通常,最好选择是使用一个主机卷来直接将你代码加载到容器上。这使你能够以本机速度运行代码,同时仍然在包含运行时依赖项 Docker 容器运行。...大多数语言都有一种方法来监视你代码,并在代码改时自动重新运行。例如,nodemon 是 Javascript 监视代码方法。请查看这篇关于如何设置这一点文章教程。

71220

Docker Compose 5种常见错误

错误:频繁容器重建 docker build需要很长时间。如果每次想要测试一个代码改时都要重新构建你容器,那么你就有很大潜力来加速你开发循环。...人们第一次采用容器时,他们倾向于采用现有的工作流程,只添加一个docker build步骤。...解决方案:在 Docker 外运行你代码 一种方案是在 Docker Compose 启动所有依赖项,但在本地运行你正在积极处理代码。这模仿了开发非容器化应用程序工作流。...解决方案:使用主机卷 通常,最好选择是使用一个主机卷来直接将你代码加载到容器上。这使你能够以本机速度运行代码,同时仍然在包含运行时依赖项 Docker 容器运行。...大多数语言都有一种方法来监视你代码,并在代码改时自动重新运行。例如,nodemon 是 Javascript 监视代码方法。请查看这篇关于如何设置这一点文章教程。

2.6K30

node.jsnodemon详解及安装方法

nodemon是一种工具,可在检测到目录文件更改时通过自动重新启动节点应用程序来帮助开发基于node.js应用程序。...通俗来讲就是,在没有安装nodemon时候我们每次修改完node代码之后都需要重启服务器才能完成修改,这样会特别的麻烦,在安装nodemon后, 他是监听代码文件变动工具,在修改完node.js代码后会自动完成...node服务器和数据库服务器重启,特别的方便。... nodemon 淘宝镜像安装 cnpm install -g nodemon 使用 我们刚才下载nodemon工具启动node,成功 2020-06-23_184531.png 当我修改...node代码时候,他会自动重启更新 2020-06-23_184746.png 我是逍遥灰灰,本人博客地址是www.xiaoyaohuihui.cn

7.3K00

5种常见Docker Compose错误

源自 XKCD 1错误:频繁容器重建 docker build需要很长时间。如果每次想要测试一个代码改时都要重新构建你容器,那么你就有很大潜力来加速你开发循环。...解决方案:在 Docker 外运行你代码 一种方案是在 Docker Compose 启动所有依赖项,但在本地运行你正在积极处理代码。这模仿了开发非容器化应用程序工作流。...解决方案:使用主机卷 通常,最好选择是使用一个主机卷来直接将你代码加载到容器上。这使你能够以本机速度运行代码,同时仍然在包含运行时依赖项 Docker 容器运行。...大多数语言都有一种方法来监视你代码,并在代码改时自动重新运行。例如,nodemon 是 Javascript 监视代码方法。请查看这篇关于如何设置这一点文章教程。...我们通常会看到大量复制粘贴代码,这使得代码修改非常困难。一个干净 Docker Compose 文件可以容易地在生产环境变化时进行定期更新。

1.1K20

Node.js 项目调试指南

它可能不会发生并且可能是由无效用户输入引起,例如 试图将一个值除以零 访问不再存在数组项或数据库记录 试图在没有适当访问权限情况下写入文件 不正确异步函数实现导致“内存溢出”崩溃。...step out : 继续处理到函数结束,返回调用命令 step : 类似于 step into,只是它不会跳转到 async 函数 停用所有断点 pause on exceptions:每当发生错误时停止处理...在 Chrome 设置日志点 日志点就像 console.log(),没有代码! 当代码执行一行时输出表达式,但与断点不同是,处理不会暂停。...VS Code 可以: 启动一个 Node.js 进程本身,或者 附加到调试 Web Socket 服务器,可能在远程机器或 Docker 容器上运行。...: Remote - Containers:连接运行在 Docker 容器应用程序 Remote - SSH:连接到远程服务器上运行应用程序 Remote - WSL:通过 Windows 上

50520

关于 Node.js 调试,你需要了解一切

all breakpoints:禁用所有断点 pause on exceptions: 发生错误时,停止处理 在 Chrome 设置条件断点 假设我们有一个运行 1000 次迭代循环,但真正需要关注是最后一次迭代状态...在 Chrome 设置日志点 日志点为 console.log(),不涉及任何代码!执行此代码时会输出一条表达式,但与断点不同是,处理过程不会暂停。...VS Code 能够: Launch 启动 Node.js 进程本身,或者 Attach 附加至调试 Web Socket 服务器,该服务器可能运行在远程计算机或 Docker 容器。...VS Code 可以调试任何 Node.js 应用程序,而善用以下扩展能让调试过程更轻松: Remote - Containers: 接入运行在 Docker 容器应用 Remote - SSH:...最后,LogRocket 和 Sentry.io 等商业服务可以与客户端和服务器实时 Web 应用程序相集成,帮助用户记录真实发生错误。

33020

在MacOs上用Docker开发

传统上,MacOS和Windows不支持基于Linux容器技术,但Docker for Mac和Windows最新版本现在容易开始在这些环境创建和运行容器,而且开销较小。...使用最新稳定版本Node.js官方Docker镜像,这是一个单行命令,它使用名为“test-node”容器新EcmaScript 6功能运行一些JavaScript代码: $ docker...Node.js应用程序构建一个镜像 - 在这个例子,我们将创建一个简单HTTP服务器,使用一个npm模块来 输出ASCII字符串。...根据Dave Kerr最近发表一篇 文章,如果你使用是像nodemon这样代码监视工具,新Docker for Mac软件现在可以正确地获取更改。...使用Kitematic,可以在图形界面管理重新启动和查看日志和卷: [风筝界面] 工作Docker容器路径 在这一点上,有理由怀疑,安装Docker,定义Dockerfile以及运行一系列命令来构建映像和运行容器等额外复杂性是否值得这样一个简单应用程序

3.9K00

使用Docker容器

在本教程,我们将简要概述Docker镜像与Docker容器之间关系。然后,我们将详细地了解如何运行,启动,停止和删除容器。...没有服务器同学可以在这里购买,不过我个人推荐您使用免费腾讯云开发者实验室进行试验,学会安装后再购买服务器。 概述 我们可以将Docker镜像 视为用于创建Docker容器惰性模板。...映像通常以根文件系统开头,并在有序只读层添加文件系统更改及其相应执行参数。与典型Linux发行版不同,Docker映像通常只包含运行应用程序所必需基本要素。图像没有状态,也不会改变。...对正在运行容器现有文件进行更改时,该文件将从只读空间复制到读写层,并在其中应用更改。读写层版本隐藏原始文件但不删除它。读写层更改仅存在于单个容器实例。...请务必在以下命令替换容器ID: docker start -ai 11cc47339ee1 我们再次发现自己处于容器bash提示符cat我们之前创建文件时,它仍然存在。

1.2K40

【译】10 个 Node.js 最佳实践:来自 Node 专家启示

例如,一个用于 webpack,另一个用于 nodemon。您可以使用 && 执行此操作,因为第一个命令不会退出。...它通过简单函数工厂模式实现,不需要使用prototype、new 或 this。您更新原型(导致所有实例也发生变化)时没有隐式影响,因为在功能继承每个对象都使用自己方法副本。...例如,这是您可以开始使用 pm2 方式: npm i -g pm2 然后您可以启动同一服务器四个实例: pm2 start server.js -i 4 对于 Docker,pm2 >2版本具有...RUN npm install pm2 -g CMD ["pm2-docker", "app.js"] 官方 Alpine Linux pm2 映像位于 Docker Hub 。...同样,您可能应该使用 Docker 进行设置: FROM nginx COPY nginx.conf /etc/nginx/nginx.conf 我喜欢使用 Docker compose 让多个容器

2K20

编写Docker Compose时要注意五大常见错误

随着容器技术出现,我们在现有的工作流程增加了docker构建步骤,如下图所示。 编写代码 构建 Docker构建 运行 当然,如果构建得不好,那么docker构建步骤也可能会带来额外时间开销。...解决方案:在Docker外部运行代码 第一种解决方法是在Docker Compose启动所有的依赖项,然后在本地运行测试代码。此举模仿了非容器化应用开发工作流程。...不过,我们在此并不会展开详细讨论。 解决方案:使用主机卷(host volumes) 大多数语言都会提供一种方法来监视程序代码,并在代码发生改时自动重新运行。...因此,我们会选择使用主机卷将代码直接挂载到容器,以便以原生方式,在包含其了运行时依赖项Docker容器运行自己代码。...而我们在进行主机卷挂载时,它必须经过大量转换,才能使文件夹进入容器,这有点类似于网络文件系统。而此类额外开销,在Linux本地运行Docker时,则不会出现。

2.1K21

node系列:学会node调试

前言 该文章来自于chh大佬投稿,为他打call 为何需要node调试? 熟练使用node调试能让你在日常开发更快定位问题所在代码,提高开发效率 如何进行node调试?...name:在调试启动配置下拉列表显示易于阅读名称(即下图红框标题名称) ?...nodemon调试 很多时候我们希望每次修改完文件ctrl+s保存后调试可自动重新启动,而不是每次修改都需要点击绿色启动按钮开启调试,这时nodemon调试就派上用场了 什么是nodemon?...nodemon是一种node工具,通过在检测到目录文件更改时自动重新启动节点应用程序来帮助开发基于node.js应用程序。...nodemon配置 前提条件 安装nodemon包 配置nodemon调试 打开根目录.vscode文件下launch.json文件,添加配置选择Node.js:Nodemon安装程序,选择后configurations

4.1K30

Docker系列教程17-默认bridge网络配置DNS

本节描述如何在Docker默认网桥配置容器DNS。 您安装Docker时,就会自动创建一个名为 bridge 桥接网络。...但主机名不容易从容器外面看到。 它不会出现在 docker ps或任何其他容器 /etc/hosts 文件。...宿主机文件更改时,所有 resolv.conf 与主机匹配停止容器将立即更新到最新主机配置。...宿主机配置更改时,运行容器将需要停止并开始接收主机更改,这是由于缺少设备,以确保在容器运行时对 resolv.conf 文件原子写入。...注意 :对于在Docker 1.5.0实现 /etc/resolv.conf 更新功能之前创建容器主机 resolv.conf文件更改时,这些容器不会收到更新。

2K90

Express新建项目与配置项目热加载

Express新建项目与配置项目热加载 声明:本文记载为笔者根据官方文档创建Express项目以及使用nodemon实现express项目热加载简单笔记,非精心创作,旨在记录,笔者不对内容质量负责。.../bin/www 以上结果表示运行成功,但是并不会自动打开浏览器,需要自行启动, 启动方法:在....nodemon可以检测文件状态,并自动执行程序关闭和启动操作,项目文件发生改变时,nodemon会自动停止项目运行,然后重新启动,无需你自己操作,在使用上相当于是热加载了,但实际上是伪热加载。.../bin/www package.json start 处),而是 nodemon ..../bin/www` 由上可看到,实际上是nodemon工具帮你执行了 node ./bin/www 修改代码看看: ?

2.3K10

一文带你入门微信云托管

微信云托管使用目前主流容器平台Docker以及容器编排技术Kubernetes(简称K8S),来管理你项目?常见问题云托管作用是什么?代替服务器部署小程序/公众号后端。...、传统模式后端项目迁移,对团队协作和企业级应用场景友好微信云托管和云开发云托管有何区别?...从代码管理到CI/CD流水线部署发布,提供全链路、低成本、企业级云原生解决方案,功能更强大、体验友好云开发云托管能力已停止功能更新,仅支持存量业务继续运行。...在 微信开发者工具 Docker 面板,找到 「Running Containers」,右击容器名称,选择 Attach Weixin Devtools,即可在小程序代码,使用 wx.cloud.callContainer...:run# 拉取实时开发工具套件,安装到 /usr/bin 下# 通过实时开发工具套件启动用户程序,在代码发生改时,自动重启进程。

4.2K102

微服务架构基于Nginx、Node.js和RedisDocker工作流

在我前一篇文章,我已经介绍了关于容器Docker是如何影响PaaS、微服务和云计算。如果你刚刚接触Docker容器,我强烈建议你先读一读我之前文章。...作为之前文章一个延续,在本文中我仍会讲述一些Docker工作流实例内容。你可以在GitHub上找到所有的代码示例。...事实上,Docker官方推荐使用/etc/hosts文件来替代环境变量,因为如果源容器重启时候,环境变量并不会自动更新。...回过来谈Node服务器,他们每一个运行在自己容器!...生产环境能在任何时间从Docker Hub和从容器编排应用能拉到最终镜像。 以上是我一个基于Nginx、Node.js和RedisDocker流程实例。

1.7K50

001.OpenShift介绍

自动化:OpenShift提供应用程序生命周期管理功能,当上游源或容器映像发生改时,可以自动重新构建和重新部署容器。根据调度和策略扩展或故障转移应用程序。...OpenShift在Docker + Kubernetes基础设施之上添加了提供容器应用程序平台所需富丰功能: OpenShift-Kubernetes extensions:其它资源类型存储在Etcd...OpenShift不会向开发人员和系统管理员屏蔽Docker和Kubernetes核心基础设施。...OpenShift接受应用程序,打包它,并将其作为容器启动。 2.2 Master和nodes OpenShift集群是一组节点服务器,它们运行容器,并由一组主服务器集中管理。...即当应用程序代码发生改时容器映像需要更新,但如果构建器映像发生更改,则部署pod也需要更新。 Image Streams包括由tag标识大量image。

3.8K30

十大Docker记录问题

目前,docker二进制文件附带日志记录驱动程序是二进制插件,但这可能会在不久将来发生变化。 Docker日志记录驱动程序接收容器日志并将其转发到远程目标或文件。...Docker有一个用于记录驱动程序插件架构,因此可以使用开源工具和商业工具插件: Journald - 在系统日志存储容器日志 Syslog驱动程序 - 支持UDP,TCP,TLS 流利 - 支持...但是,容器启动时,Syslog日志记录驱动程序需要与Syslog服务器建立TCP连接。...此外,重新启动Syslog服务器可能会将通过TCP / TS记录所有容器拆除到中央Syslog服务器,这绝对是要避免情况。...一些问题报告了使用GELF驱动程序解析DNS /缓存问题,因此Graylog服务器IP更改时,您日志可能会被发送到“Nirvana” - 这可能会使用容器部署快速发生。 10.

2.7K40
领券