前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在docker的容器中使用gdb

如何在docker的容器中使用gdb

作者头像
Homqyy
发布于 2023-03-06 05:25:20
发布于 2023-03-06 05:25:20
1.9K00
代码可运行
举报
文章被收录于专栏:知行合一知行合一
运行总次数:0
代码可运行

解决方案

话不多说,先上答案:在运行容器的时候,使用参数--cap-add sys_ptrace,比如:

代码语言:javascript
代码运行次数:0
运行
复制
docker run --cap-add sys_ptrace homqyy/example_http

问题原因

由于docker运行的容器默认是将“追踪”能力给关掉的,因此我们需要手动的打开。关于“追踪”能力的原文如下所示:

capabilities(7) — Linux manual page CAP_SYS_PTRACE * Trace arbitrary processes using ptrace(2); * apply get_robust_list(2) to arbitrary processes; * transfer data to or from the memory of arbitrary processes using process_vm_readv(2) and process_vm_writev(2); * inspect processes using kcmp(2).

触类旁通法

docker除了提供系力度的能力控制(--cap-add--cap-del)外,还提供了一个能力全开放的选项“--privileged”,因此我们可以如此排查:

  • 如果后续我们有遇到在本地开发环境正常,但在docker中却无法使用的工具或运行的程序,比如tcpdump时,不妨直接打开它,以排查是否与能力相关。
  • 如果打开全能力后就能正常使用或运行,则再根据“capabilities(7) — Linux manual page”去找对应的能力选项
  • 最后通过--cap-add来开启必须的能力即可(不推荐大家直接使用--privileged的原因是,不安全)。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月28日2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
普罗米修斯Prometheus监控神器
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161742.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/09
2K0
监控神器普罗米修斯Prometheus安装配置「建议收藏」
普罗米修斯默认配置文件 vim /usr/local/Prometheus/prometheus.yml
全栈程序员站长
2022/06/27
4.5K0
监控神器普罗米修斯Prometheus安装配置「建议收藏」
搞定Prometheus普罗米修斯监控系统
AAA公司是一家电商网站,由于公司的业务快速发展,公司要求对现有机器进行为业务监控,责成运维部门来实施这个项目。
全栈程序员站长
2022/09/09
6.2K0
搞定Prometheus普罗米修斯监控系统
(linux-arm64)UOS安装开源Prometheus-2.30.0—普罗米修斯
【摘要】 (linux-arm64)UOS安装开源Prometheus-2.30.0—普罗米修斯
QGS
2021/10/12
9330
普罗米修斯监控openGauss
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161777.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/09
1.4K0
普罗米修斯监控openGauss
Centos7安装Promethus(普罗米修斯)监控系统完整版
Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数 据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动 了prometheus的发展。 https://prometheus.io/docs/introduction/overview/
全栈程序员站长
2022/09/05
3.9K0
Centos7安装Promethus(普罗米修斯)监控系统完整版
普罗米修斯 -- 基本使用
普罗米修斯是用 go 语言编写的软件并且利用了 go 语言的交叉编译特性编译成了纯二进制文件, 运行的时候不需要额外安装依赖。 直接从官网上下载就可以。 下载地址: https://prometheus.io/download/ 这里面除了普罗米修斯的主程序意外, 一些 额外的组件,比如 pushgateway, alertmanager 以及各种官方 exporter 的下载包都可以在这里找到。 由于我们现在部署普罗米修斯都是容器化部署的, 所以这里我选择用 docker 进行部署。
TesterHome小助手
2022/01/11
1.4K0
普罗米修斯安装
Prometheus是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目,拥 有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus于2016年加入云原生云计算基金 会(CNCF),成为继Kubernetes之后的第二个托管项目。
summerking
2022/09/19
5200
普罗米修斯安装
从指标到洞察力的普罗米修斯
普罗米修斯官网的首页简单的对普罗米修斯做了定义:从指标到洞察力 ,普罗米修斯通过领先的开源监控解决方案为用户的指标和告警提供强大的支持。
宋小生
2023/01/16
1.4K0
从指标到洞察力的普罗米修斯
Prometheus(普罗米修斯)监控系统「建议收藏」
Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由 SoundCloud 公司开发。
全栈程序员站长
2022/09/09
2K0
监控利器:普罗米修斯介绍和安装
我们的程序想要稳定的运行,或者说当出现问题时能第一时间知道,这就离不开监控,目前比较主流的就是 Prometheus(普罗米修斯)+ Grafana 的组合。
oec2003
2023/11/01
4.3K0
监控利器:普罗米修斯介绍和安装
linux安装Promethus普罗米修斯监控
下载地址:Releases · prometheus/node_exporter · GitHub
全栈程序员站长
2022/09/09
1.2K0
Prometheus 普罗米修斯 安装
注意 端口是 9090 可在Linux:curl 127.0.0.1:9090 可输出:
收心
2022/04/28
3340
springboot集成普罗米修斯
Prometheus 是一套开源的系统监控报警框架。它由工作在 SoundCloud 的 员工创建,并在 2015 年正式发布的开源项目。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,非常的受欢迎。
方志朋
2022/01/06
1.8K0
springboot集成普罗米修斯
普罗米修斯
Prometheus(普罗米修斯)是一套开源的监控系统,其基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,不需要任何 SDK 或者其他的集成过程,其架构如图:
六个核弹
2022/12/23
2.9K0
普罗米修斯
Prometheus➕Grafana监控node节点资源情况
上图中的空白处需要添加一个json文件,需要从grafana的官网进行下载,这里可以选择关于Docker的仪表盘,很多种类,这里以官方使用的为主,点击这里使用接下里要用的dashboard,进入页面后,如图所示,根据图中红线处即可下载
互联网-小阿宇
2022/11/21
6390
Prometheus➕Grafana监控node节点资源情况
Prometheus➕Grafana监控node节点资源情况
上图中的空白处需要添加一个json文件,需要从grafana的官网进行下载,这里可以选择关于Docker的仪表盘,很多种类,这里以官方使用的为主,点击这里使用接下里要用的dashboard,进入页面后,如图所示,根据图中红线处即可下载
全栈程序员站长
2022/06/29
1.3K0
Prometheus➕Grafana监控node节点资源情况
初玩prometheus
因为Prometheus是基于GoLang编写,编译后的软件包,不依赖于任何的第三方依赖。用户只需要下载对应平台的二进制包,并解压添加基本配置即可正常启动Prometheus server。
张琳兮
2019/11/04
9020
初玩prometheus
搭建普罗米修斯Prometheus监控系统「建议收藏」
Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为K8S的流行带动了Prometheus的发展。
全栈程序员站长
2022/09/09
9.2K0
搭建普罗米修斯Prometheus监控系统「建议收藏」
普罗米修斯监控系统搭建(MAC环境基于Docker)「建议收藏」
exporter测试地址:http://172.24.8.166:9100/metrics
全栈程序员站长
2022/09/09
8840
普罗米修斯监控系统搭建(MAC环境基于Docker)「建议收藏」
相关推荐
普罗米修斯Prometheus监控神器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档