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

调试在远程主机的docker容器上运行的NodeJs应用程序的最佳方法是什么?

调试在远程主机的Docker容器上运行的Node.js应用程序的最佳方法是使用远程调试工具。以下是一种常用的方法:

  1. 在Docker容器中安装调试工具:在Dockerfile中添加调试工具的安装命令,例如在Alpine Linux中可以使用apk命令安装node-inspector
  2. 在容器中暴露调试端口:在Dockerfile或者Docker命令中,使用EXPOSE指令或者-p参数将调试端口暴露给主机。
  3. 启动容器并运行Node.js应用程序:使用Docker命令启动容器,并在容器中运行Node.js应用程序。
  4. 在本地主机上安装调试工具:在本地主机上安装与容器中的调试工具相匹配的版本,例如安装node-inspector
  5. 连接到远程调试端口:使用调试工具连接到远程主机的调试端口,例如使用node-inspector的命令node-inspector --web-port=8080 --debug-port=5858
  6. 在浏览器中打开调试界面:在本地主机的浏览器中打开调试工具的界面,例如在地址栏中输入http://localhost:8080/debug?port=5858
  7. 开始调试:在调试工具的界面中,可以设置断点、查看变量值、单步执行等操作,以调试远程主机上运行的Node.js应用程序。

请注意,以上方法仅是一种常用的调试远程主机上Docker容器中Node.js应用程序的方法,具体的调试过程可能会因环境和工具的不同而有所差异。在实际应用中,可以根据具体情况选择适合的调试工具和方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

通过 SSH 远程 Linux 系统运行命令方法

通用语法如下所示: $ ssh [用户名]@[远程主机名或 IP] [命令或脚本] 1) 如何通过 SSH 远程 Linux 系统运行命令 下面的例子允许用户通过 ssh 远程 Linux 机器运行...Linux 系统运行带 sudo 权限命令 下面的例子允许用户通过 ssh 远程 Linux 机器运行带有 sudo 权限 fdisk 命令。...Linux 系统运行带 sudo 权限服务控制命令 下面的例子允许用户通过 ssh 远程 Linux 机器运行带有 sudo 权限服务控制命令。...Linux 系统运行命令 下面的例子允许用户通过 ssh 使用了非标准端口远程 Linux 机器运行 hostnamectl 命令。...SSH 远程 Linux 系统运行命令方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

2K10

Visual Studio 调试系列12 远程调试部署远程计算机IISASP.NET应用程序

调试已部署到IISASP.NET应用程序,请在部署应用程序计算机上安装并运行远程工具,然后从Visual Studio附加到正在运行应用程序。 ?...本文包括Windows服务器设置IIS基本配置以及从Visual Studio部署应用程序步骤。包括这些步骤以确保服务器已安装所需组件,应用程序可以正确运行,以及您已准备好进行远程调试。...如果在 IIS 中运行应用程序,并且只是想要下载远程调试器和启动调试,请转到下载并安装 Windows Server 远程工具。...某些情况下,这是一种将应用部署快速方法。 创建发布设置文件时,权限自动将会在 IIS 中设置。 部署发布到本地文件夹并将输出首选方法复制到 IIS 已准备好应用程序文件夹。...》 11 设置 Windows Server 远程调试器 参考《Visual Studio 调试系列11 远程调试》 12 从 Visual Studio 计算机附加到 ASP.NET 应用程序

3.9K10

应用软件开发工程化-JavaScript

# 运行以下命令来启动应用程序 验证NodeJS Express 开发环境 创建一个简单 Express 应用程序示例: mkdir my-app && cd my-app && npm init...Vue DevTools:用于调试 Vue 应用程序工具。它提供了丰富调试功能,包括代码高亮、断点设置、变量值查看、堆栈跟踪等 ESLint:最流行 JavaScript 代码风格校验工具。...该镜像将使用 Alpine Linux 作为基础操作系统,并安装应用程序依赖项。容器启动时将运行 node index.js 命令来启动应用程序,并公开应用程序端口 80。...Docker 镜像:此阶段构建一个包含 APP Docker 镜像。 设置 K3s:此阶段远程服务器设置 K3s 集群。 部署应用:此阶段将 APP 部署到 K3s 集群。...C程序编译,测试,打包容器镜像并推送到自定义仓库,并完成K3S集群初始化,将容器镜像部署到K3S集群中。

24150

容器并不能解决一切问题

随着 DevOps 开始成熟,业界发展出了应用开发最佳实践,比如 12 因素应用程序方法论,但许多实现细节仍然是依赖于特定技术。...简而言之,Docker Compose 对那些想要使用容器方法开发 12 因素应用程序开发人员来说是一种完美工具。...例如,如果你 Node.JS 中编写一个依赖于 Postgres API,那么你可以 nodejs 容器运行代码(可能在它前面有一个文件监视器), Postgres 容器运行 Postgres...然而,并不是所有的开发工作流都可以被容器化。无论是为了性能、易于与主机操作系统特性集成,还是其他许多原因,有时最好将开发环境某些部分作为本地进程运行,而将其他部分作为容器运行。...像 Telepresence 这样工具有助于将本地容器连接到远程 Kubernetes 集群中运行容器,但我们仍然缺乏能够跨本地和远程环境透明地处理服务发现、代理和身份验证等问题高级工具。

66420

容器并不能解决一切问题

随着 DevOps 开始成熟,业界发展出了应用开发最佳实践,比如 12 因素应用程序方法论,但许多实现细节仍然是依赖于特定技术。...简而言之,Docker Compose 对那些想要使用容器方法开发 12 因素应用程序开发人员来说是一种完美工具。...例如,如果你 Node.JS 中编写一个依赖于 Postgres API,那么你可以 nodejs 容器运行代码(可能在它前面有一个文件监视器), Postgres 容器运行 Postgres...然而,并不是所有的开发工作流都可以被容器化。无论是为了性能、易于与主机操作系统特性集成,还是其他许多原因,有时最好将开发环境某些部分作为本地进程运行,而将其他部分作为容器运行。...像 Telepresence 这样工具有助于将本地容器连接到远程 Kubernetes 集群中运行容器,但我们仍然缺乏能够跨本地和远程环境透明地处理服务发现、代理和身份验证等问题高级工具。

51240

【无服务器架构】Apache Openwhisk 概览

OpenWhisk使用Docker容器管理基础架构,服务器和扩展,因此您可以专注于构建出色而高效应用程序。...如果需要当前不支持“即用即用”运行语言或库,则可以使用Docker SDK将自己可执行文件创建并自定义为Zip Actions,并在Docker运行运行。...将您功能组合成丰富组合 使用JavaScript / NodeJS,Swift,Python,Java等不同语言编写代码,或者通过与Docker打包代码来运行自定义逻辑。...使用诸如序列之类高级编程构造将多个动作声明式链接在一起。使用参数绑定可以避免代码中对服务凭据进行硬编码。并且,使用各种开发工具实时调试代码。 ?...按需扩展规模和最佳资源利用 不到一秒时间内,即可一次执行一万次,或者每周一次。动作实例可以根据需要进行扩展以满足需求,然后消失。不为空闲资源付费情况下,享受最佳利用率。 ?

1.6K20

docker学习笔记

image pull:用于下载镜像,镜像从远程镜像仓库服务仓库中下载,默认从Docker Hub仓库中拉取 # 格式:docker pull [OPTIONS] NAME[:TAG|@DIGEST...-i: 以交互模式运行容器,通常与 -t 同时使用; # -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; # -P: 随机端口映射,容器内部端口随机映射到主机高端口 # -p: 指定端口映射.../bin/bash # 说明:-it使容器具备交互性并与终端连接,命令最后表明运行容器Bash Shell程序 2、docker container ls:列出所有运行状态容器可用docker...> bash # 该命令会将docker主机shell连接到一个运行容器容器内部启动一个新bash shell进程 6、docker container start:用于重启处于停止(Exited...name或container id 8、快捷键Ctrl+PQ用于断开docker主机shell终端与容器终端连接,并在退出后保证容器在后台运行 应用容器化 (Containerizing

73220

Kubernetes 中分析调试网络流量4种方式

本文介绍了 Kubernetes 中网络调试分析4种方法....然而,这种调试方法一个容器世界中并不适用。 首先,容器很可能在您机器无法直接访问内部容器平台网络运行。第二个问题是,按照容器设计最佳实践,容器只包含执行其任务所需最小应用程序和库集。...它是捕获Kubernetes/OpenShift pods之间网络流量数据简单方法,允许开发人员更好地分析和调试容器应用程序通信问题,并更快、更有效地解决问题。...- 利用Network Namespace 正如方法二中提到Network Namespace概念, 实际, 不同容器, 只是宿主机上不同 namespace 运行进程而已....只是宿主机上不同 namespace 运行进程而已.

1.1K50

12 Dockerfile

LABEL 用于指定 Dokcer 镜像元数据信息。 ARG 它用于设置带有键和值构建时变量。当容器运行时,ARG 变量将不可用。如果我们想在正在运行容器保留变量,请使用 ENV 指令。...我们可以从 Docker Hub 提供各种预构建基础镜像中进行选择,例如 AIpine Linux,Centos 或 Nodejs 或 Golang 等特定语言运行时。...FROM node:14 上面的实例中,我们适用版本为 14 Nodejs 基础镜像。该镜像包含了 Nodejs 及其运行环境,适合运行 Nodejs 应用程序。...该镜像可以作为容器在任何安装了 Docker 系统运行,为我 i 们应用程序提供一致且隔离环境。...接着,我们适用npm install安装 Nodejs 依赖项。接下来,我们将应用程序代码其余部分复制到工作目录。然后公开端口 3000 以允许外部访问容器运行应用程序

16211

Docker 编配 ...它是什么意思,为什么你会需要它

)而被发明,其实现方法是创建一个容器,该容器包含可自行部署应用程序部分以及成功运行它们所需要中间件和应用程序业务逻辑。...虽然Docker有一个使用Docker bridge基本解决方案,但是这个解决方案并不总是首选,尤其是跨不同主机部署容器时,您需要关注真正网络设置。...作为一个方面的说明:Docker中,你需要一个特殊调整,因为你通常不会碰到容器配置文件,为了容器保持完好无损,对于这种情况需要一个有趣解决方法。...我们从Create开始使用 - 创建一个容器,我们没有一开始时就去实现配置,并开始运行应用程序。...另一方面,我们有带NodeJS和Nodecellar应用程序Nodecellar容器。Nodecellar容器需要连接到MongoD容器,以应用程序启动时运行app queris。

1K80

Go语言开发调试中阶

目录 DIY纯命令行调试 开始我们表演 就是他干好事,神器delve DIY纯命令行调试 几年前,为学习某个开发框架,需要在系统层装一大堆类库和脚手架(看到nodejs开发者默默点头了),搞得系统越来越臃肿...上帝说要有光,于是以docker为代表容器技术诞生了,通过DIY构建镜像,能够将所有的依赖打包到一起,并且可以到处运行,一切似乎都变得简单了。。。...我们期望镜像,要能够运行调试Go应用程序,因此需要依赖包括: go语言安装包,直接可以从官网curl下来安装 gcc、gdb等系统层辅助工具,gdb其实是个大神器,我们这次不展开讨论了 delve...开始我们表演 推荐大家用vagrant创建linux box来做各种test,这个box可以预装很多包括docker在内必要服务,这样可以快速进行开发测试,并且不会污染主机环境。...log.Fatal(http.ListenAndServe(":80", nil)) } 接下来运行以下命令: # 启动用于调试容器,并把目标代码目录挂载到容器内 # 特别注意这个参数“--security-opt

1.1K30

全面的Docker快速入门教程

Docker优势有哪些? 灵活性:即使是最复杂应用程序也可以容器化。 轻量级:容器利用并共享主机内核,使它们系统资源方面比虚拟机更有效率。...通过利用 Docker 快速交付、测试和部署代码方法,您可以显着减少编写代码和在生产中运行代码之间延迟。...Docker主要用来解决什么问题? Docker出现主要就是为了解决:机器运行时正常为什么到你机器运行不正常了。   比如你写一个Web应用,并且本地调试没有任何问题。...Docker 客户端和守护进程可以运行在同一个系统,或者您可以将一个 Docker 客户端连接到一个远程 Docker 守护进程。...使用本机 Windows Hyper-V 虚拟化实现快速可靠性能 能够通过 Windows 机器 WSL 2 Linux 本地工作 代码和数据卷安装,包括文件更改通知和轻松访问本地主机网络运行容器

1.1K20

什么是Docker编排?它到底意味着什么?为什么我们需要它?

Docker容器是为了帮助开发者们快速,可靠地部署应用程序组件或层而被开发出来,它是通过创建一个包含可自行部署应用程序组件,中间件和应用程序业务逻辑容器来成功进行运行。...虽然说Docker有一个通过使用Docker桥来连接容器基本解决方案,但是这个解决方案并不会总是首选,尤其是跨不同主机部署容器时,因为您需要考虑到真实网络设置这个问题。...一点小小备注:因为Docker中您通常不会碰到容器内用来保持容器完整性配置文件,所以您会需要对应用程序做一些调整。对于这种情况来说,您就需要一个非常有趣解决方法。...介绍Docker Cloudify插件 Cloudify这个Docker插件 其实是非常简单,因为它会安装在机器Docker API端点或服务器,然后使用Docker-PY来结合创建,配置和删除容器功能...另一台主机上,我们安装了Nodecellar容器NodeJS与Nodecellar应用程序。Nodecellar容器需要连接到MongoD容器,以便于应用程序启动时运行程序query。

2K50

加速开发流程 Dockerfile 最佳实践

主机容器之间保持实时加载该技巧和 Dockerfile 并不直接相关,但我们经常听到这样问题:容器运行应用程序并在主机上从 IDE 修改源代码时,如何保持代码热更新?...我们这里示例,我们需要将我们项目目录挂载到容器中,并传递一个环境变量来启用 Chokidar,该项目封装了 NodeJS 文件更改事件。...image_name复制代码这里我们通过 -v 将宿主机上面的代码目录挂载到容器中,当宿主机代码有任何变更时都会在容器中进行实时加载更新。...从源上进行一致构建如上一节所述,我们可以通过 Dockerfile 描述中添加源文件和依赖项并在其运行命令来构建应用程序。...无论是否容器运行所有应用程序都应遵守最小特权原则,这意味着应用程序应仅访问其所需资源。如果出现恶意行为或错误,以太多特权运行进程可能会在运行时对整个系统造成意外后果。

84630

分享4个Linux中Node.js进程管理器

Node.js进程管理器是一个有用工具,可以确保Node.js进程或脚本连续(永久)运行,并使其能够系统引导时自动启动。...它还支持应用程序日志记录,群集和负载平衡,以及许多其他有用流程管理功能。 另请参阅:2019年为开发人员提供14个最佳NodeJS框架 包管理器尤其适用于在生产环境中部署Node.js应用程序。...image.png 安装PM2以Linux中运行Nodejs应用程序 它支持应用程序监视:提供一种监视应用程序资源(内存和CPU)使用情况简单方法。...最后但同样重要是,如果您使用Docker容器,PM2允许容器集成,并提供允许您以编程方式使用它API系统。 2....image.png 用于NodejsStrongLoop PM进程管理器 它支持应用程序监视(查看性能指标,如事件循环时间、CPU和内存消耗)、多主机部署、集群模式、零停机应用程序重启和升级、故障时自动进程重启以及日志聚合和管理

2.9K61

2021年排名前85DevOps面试问答

监视服务器状态,并确定应用程序是否正常运行。 启用连续审核,交易检查和受控监控。 10. AWSDevOps中作用是什么?...60.使内容可重复使用/重新分发最佳方法是什么? 有三种方法可以使内容Ansible中可重用或重新分发: 角色用于管理剧本中任务。可以通过Ansible Galaxy轻松共享它们。...Docker映像 Docker容器 Docker映像是Docker容器模板 容器Docker映像运行时实例 使用Dockerfile构建映像 容器是使用Docker映像创建 它存储Docker...示例: 暴露8080 发布 发布Docker运行命令中使用。 可以Docker环境之外使用。 它用于将主机端口映射到正在运行容器端口。...然后,该插件将检查主机或服务运行状态,并将结果报告回Nagios守护程序。 它将处理主机或服务检查结果并发送通知。 ? 被动检查: 在被动检查中,外部应用程序检查主机或服务状态。

6.7K30

简化Kubernetes开发:你工具指南

通过远程集群中为应用程序运行占位符 pod,Telepresence 将传入流量路由到本地工作站上容器。它将立即反映开发人员远程集群中对应用程序代码所做任何更改,而无需部署新容器。...因此, Docker Compose 顺利运行应用程序行为可能在部署到 Kubernetes 生产集群时不会表现得类似。...ports "8080:8080" 将主机端口 8080 映射到容器端口 8080,允许您在 http://localhost:8080 上访问容器运行 Java 应用程序。...它非常适合在单个主机或机器运行应用程序,使其成为开发和测试环境绝佳选择。Docker Compose 允许开发过程中快速迭代,因为您可以快速重建和重新部署容器。...限制 虽然容器有效地解决了“机器可以运行问题,但 Docker Compose 引入了一个新挑战 - “ Docker Compose 设置可以运行”。

13110

实践分享:基于DevOps流程容器安全看板

避免常见配置错误 如果主机容器运行时、集群或云资源配置错误,很可能会导致攻击。一些常用基准、最佳实践和加固指南为我们介绍了如何发现这些错误配置,其中,CIS 基准是一个非常重要基准。...这些内容中任何一个组件都可能存在漏洞或配置错误,并可能被用作访问正在运行容器入口点或造成拒绝服务攻击。通过主机扫描工具可以检测出内核、标准库、甚至是主机运行容器已知漏洞。...不要以 root 身份运行容器。最好是使用随机 UID(如 Openshift),不映射到主机真实用户,或者 Docker 和 Kubernetes 中使用用户命名空间功能。 ● 限制容器权限。...Docker 和 Kubernetes 提供了删除 Linux Capabilities 方法,不允许存在特权容器。Seccomp 和 AppArmor 可以对容器可执行操作范围添加更多限制。...这时就需要良好漏洞管理策略,包括: ● 优先考虑需要修复内容。 我们应该专注于分数或严重程度较高主机容器漏洞,这通常意味着它们可以远程利用,并且有公开利用方法

1.2K20

Docker 业务流程概述以及用处

然而,一个应用程序通常是在其架构中是多层,这意味着多层之间有着依赖关系,依赖性性质可以是从网络连接和远程API调用到应用程序层之间消息交换。因此,应用程序是一组具有特定配置不同容器。...这就是为什么需要将应用程序组合在一起。 虽然Docker有一个使用Docker桥连接容器基本解决方案,但是这个解决方案并不总是首选,尤其是跨不同主机部署容器时,需要配置正确。...作为一个方面说明:Docker中,你需要一个特殊调整,因为你通常不会触摸容器配置文件,所以你可以保持容器完整性,所以对于这种情况需要解决方法。...所以我们可以配置容器创建,并使用了TOSCA关系预先配置挂钩,以获得在运行相关容器信息。 将运行时信息公开到具有依赖关系容器方法是将它们设置为环境变量。...另一种是Nodecellar容器,里面有NodeJS和Nodecellar应用。当应用程序启动时,Nodecellar容器需要连接到MongoD容器运行应用程序查询。

71660
领券