运行 gdb inside docker container 运行 systemd

Run gdb inside docker container running systemd

我能够使用

启动 docker 容器 运行 systemd
sudo docker run -it -p 8022:22 -e container=docker debug-image /sbin/init

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

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

此命令有效:

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