在运行systemd的Docker容器中运行gdb [英] Run gdb inside docker container running systemd

查看:146
本文介绍了在运行systemd的Docker容器中运行gdb的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我能够使用以下命令启动运行systemd的docker容器

I was able to start a docker container running systemd using

sudo docker run -it -p 8022:22 -e container=docker debug-image /sbin/init

但是,gdb无法在其中调试C进程这种环境,因为它缺少必需的 SYS_PTRACE 功能。

However, gdb was not able to debug C processes in this environment, because it lacked the required SYS_PTRACE capability.

我尝试添加- cap-add = SYS_PTRACE docker run 命令行,但是随后出现 systemd 挂起启动(它没有打印任何内容到终端)。当我尝试传递-特权时,发生了同样的事情。

I tried adding --cap-add=SYS_PTRACE to the docker run command line, but then systemd appeared to hang on startup (it printed nothing to the terminal). The same thing happened when I tried passing --privileged instead.

推荐答案

此命令有效:

sudo docker run -it -p 8022:22 --tmpfs /tmp --tmpfs /run -v /sys/fs/cgroup:/sys/fs/cgroup:ro -e container=docker --privileged debug-image /sbin/init

这篇关于在运行systemd的Docker容器中运行gdb的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆