fork / exec ./debug:操作不允许

我的目标是能够从Atom.io远程debugging。 进入Docker容器,运行在dlvdebugging器中 。 这是第一个问题:

更新:1。 我在Mac上运行Docker容器,但是这不应该影响代码签名的事情,因为我在一个容器中运行,对不对?

更新:2。 Codesignig主机,没有帮助。

Error: 1. root@...:/go/src/app# go get github.com/derekparker/delve/cmd/dlv 2. root@...:/go/src/app# dlv debug hello.go could not launch process: fork/exec ./debug: operation not permitted 

然后试图

 1. root@...:/go/src/app# sudo 2. bash: sudo: command not found 

它似乎工作,如果你启动容器与 – --privileged 。 我试图找出是否有一个更细粒度的能力,但失败了。

另外我只是发现https://github.com/steeve/homebrew-delve这应该使OSX上更容易。

根据Delve问题#515

Docker的默认安全设置是防止ptrace(2)操作在容器中。 通过–security-opt seccomp:在启动时不限制到docker运行。

*在官方docker错误跟踪器中的确认https://github.com/docker/docker/issues/21051

Docker有安全设置防止ptrace(2)

看我如何修复它。

如果使用seccomp:unconfined -compose文件运行容器,则在下面的服务部分中添加seccomp:unconfined

 api: security_opt: - seccomp:unconfined 

如果使用docker运行…传递seccomp:unconfined工程以及