在运行systemd的Docker容器中运行gdb [英] Run gdb inside docker container running systemd
本文介绍了在运行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屋!
查看全文