docker環境無法執行jmap -heap 56命令


很奇怪的問題,但是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 JAVA_HOME=/opt/jdk \ -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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM