Docker 解决openjdk容器里无法使用JDK的jmap等命令问题
不是 Windows10,用不了 Docker for Windows 只能用这个。使用 Docker Compose 编排服务,并启动 Mysql 和 Spring Boot 项目。项目部署在 CentOS 服务器上。项目偶尔会出现无响应的情况,这时理所当然要上去用 JDK 相关命令看看堆栈和GC等信息了。嗯,jps 命令还是能正常使用的,api.jar 程序的进程号是1。这篇文章介绍了整个的缘由以及应对方法:简单暴力(不推荐),直接关闭 seccomp 配置。Docker Compose 自 前面的 docker-compose.yml 改写后文件内容如下:首先贴出错误截图:错误产生的原因, 是因为docker 1.10版本之后 默认禁用了ptrace解决办法就是我们运行容器打开ptrace:在docker-compose.yml中加入如下代码可解决:保存后运行docker-compose up -d, 然后进入容器, docker exec -it /bin/bash再次使用jmap等工具, 就不会报错了。
用户评论