Docker-Tomcat Can‘t attach to the process: ptrace(PTRACE_ATTACH, ..) failed for 1: Operation not per

Can’t attach to the process: ptrace(PTRACE_ATTACH, …) failed for 1: Operation not permitted

docker运行的 Tomcat 容器,由于jvm 内存溢出,想要排查,进入到容器内,都无法使用相关命令,如 jmap、jps、jinfo 等命令,都会报出 Can’t attach to the process: ptrace(PTRACE_ATTACH, …) failed for 1: Operation not permitted 这个问题,很是头疼,经过查阅资料,最终得以解决。

这不是什么 docker 或者jmap的Bug,而是 Docker 自 1.10 版本开始加入的安全特性。 jmap 这类 JDK 工具依赖于 Linux 的 PTRACE_ATTACH,而 Docker 自 1.10 版本开始,默认的 seccomp 配置文件中禁用了 ptrace。

解决方案:运行容器时加入对应设置,使容器支持相关命令的使用
–cap-add=SYS_PTRACE

docker run --cap-add=SYS_PTRACE -d -p 8081:8080 -m 800M --memory-swap=1024M --name tomcat_admin -e JAVA_OPTS='-server -Dfile.encoding=UTF-8 -Xms512M -Xmx800M' -v /jbh_services/admin:/usr/local/tomcat/webapps --restart=always tomcat:8.5.63-jdk8-openjdk

原文写的比较详细,转载地址:https://blog.csdn.net/russle/article/details/99708261

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值