Docker コンテナ上で Go のプロジェクトを delve でデバッグしたいとき。Docker はデフォルトで ptrace(2) システムコールの呼び出しを制限しているので、これを緩和する必要がある。 具体的には docker run に次のように --cap-add=SYS_PTRACE というオプションを渡してあげるとよい。 docker container run --cap-add=SYS_PTRACE -it your-image:latest bash 背景 Docker コンテナ上で Go のプログラムを delve を使ってデバッグしようとすると次のようなエラーで動かなかった。 root@a135f59c96cb:/go# dlv debug could not launch process: fork/exec /go/debug: operation not pe
![Docker コンテナ上で Go のプロジェクトを delve でデバッグするには ptrace の許可が必要](https://cdn-ak-scissors.b.st-hatena.com/image/square/87bb59df23f4ab97a94294d3a89d9daa76699003/height=288;version=1;width=512/https%3A%2F%2Fplease-sleep.cou929.nu%2Fimages%2Fkosei-pic.png)