很奇怪的问题,但是jstack可以执行
解决方法:
docker 内部使用jmap 需要启动容器时候配置权限:docker run --privileged=true --cap-add=SYS_PTRACE
配置dokcerfile文件:
if [[ ! -z $level ]];then docker run -d -v ${localtime}:${localtime}:ro -v ${confdir}:${confdir} -v ${logdir}:${logdir} -v ${nfsdir1}:${nfsdir1} -v ${nfsdir2}:${nfsdir2} -v ${nfsdir3}:${nfsdir3} -v ${jprofiler9dir}:${jprofiler9dir} -e BTRACE_HOME=/opt/btrace -e TERM=xterm -e PATH=${docker_path} --restart=on-failure:3 --net host --privileged=true --cap-add=SYS_PTRACE --name ${projname} ${repository}:${tag_after_check} >/dev/null 2>&1
添加后执行后重新构建docker
折腾了的很久的问题终于解决了
参考:
https://www.cnblogs.com/vikings-blog/p/4238062.html
https://www.runoob.com/docker/docker-run-command.html
https://www.cnblogs.com/yfalcon/p/9044246.html
https://blog.csdn.net/ynhzdxc/article/details/63692636
https://www.v2ex.com/t/235726
原文:https://www.cnblogs.com/qmfsun/p/10858473.html