成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Docker 解決openjdk容器里無法使用JDK的jmap等命令問題

瀏覽:262日期:2024-11-09 10:10:08

零、問題描述

項目:Java Spring Boot 項目

Docker 環境:Docker Toolbox。不是 Windows10,用不了 Docker for Windows 只能用這個。

使用 Docker Compose 編排服務,并啟動 Mysql 和 Spring Boot 項目。

docker-compose.yml 文件內容:

version: ’2’services: mysql: build: ./docker/builds/mysql ports: - '3386:3306' volumes: - './docker/data/mysql/data:/var/lib/mysql' - './docker/data/mysql/conf:/etc/mysql/conf.d' restart: always environment: MYSQL_DATABASE: testdb MYSQL_USER: kinginblue MYSQL_PASSWORD: kinginblue MYSQL_ROOT_PASSWORD: kinginblue api: depends_on: - mysql build: ./docker/builds/api ports: - '8088:8080' volumes: - './api/target/api-0.0.1-SNAPSHOT.jar:/app/api.jar' entrypoint: - 'java' - '-jar' - '/app/api.jar' restart: always

./docker/builds/api 目錄下的 DockerFile 內容:

FROM openjdk:8

ENV LANG C.UTF-8

用的是 openjdk8。

項目部署在 CentOS 服務器上。項目偶爾會出現無響應的情況,這時理所當然要上去用 JDK 相關命令看看堆棧和GC等信息了。

進入 Java 程序所在容器:docekr-compose exec api bash,進入到 api 容器的 bash 終端。

jps 打印 Java 進程:

1 api.jar

74 Jps

嗯,jps 命令還是能正常使用的,api.jar 程序的進程號是1。

jmap 命令打印堆棧摘要信息:jmap -heap 1,然而,報錯了!

Attaching to process ID 1, please wait...Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can’t attach to the process: ptrace(PTRACE_ATTACH, ..) failed for 1: Operation not permittedsun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.debugger.DebuggerException: Can’t attach to the process: ptrace(PTRACE_ATTACH, ..) failed for 1: Operation not permitted at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.execute(LinuxDebuggerLocal.java:163) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.attach(LinuxDebuggerLocal.java:278) at sun.jvm.hotspot.HotSpotAgent.attachDebugger(HotSpotAgent.java:671) at sun.jvm.hotspot.HotSpotAgent.setupDebuggerLinux(HotSpotAgent.java:611) at sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:337) at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:304) at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140) at sun.jvm.hotspot.tools.Tool.start(Tool.java:185) at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118) at sun.jvm.hotspot.tools.JInfo.main(JInfo.java:138) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.tools.jinfo.JInfo.runTool(JInfo.java:108) at sun.tools.jinfo.JInfo.main(JInfo.java:76)Caused by: sun.jvm.hotspot.debugger.DebuggerException: Can’t attach to the process: ptrace(PTRACE_ATTACH, ..) failed for 1: Operation not permitted at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.attach0(Native Method) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.access$100(LinuxDebuggerLocal.java:62) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$1AttachTask.doit(LinuxDebuggerLocal.java:269) at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.run(LinuxDebuggerLocal.java:138)

以上的關鍵信息就是:Can’t attach to the process: ptrace(PTRACE_ATTACH, ..) failed for 1: Operation not permitted,操作不允許。

一、解決方案

這其實不是什么 Bug,而是 Docker 自 1.10 版本開始加入的安全特性。

類似于 jmap 這些 JDK 工具依賴于 Linux 的 PTRACE_ATTACH,而是 Docker 自 1.10 在默認的 seccomp 配置文件中禁用了 ptrace。

這篇文章介紹了整個的緣由以及應對方法:JVM in Docker and PTRACE_ATTACH

主要提及三種:

1.1 ?security-opt seccomp=unconfined

簡單暴力(不推薦),直接關閉 seccomp 配置。用法:

docker run --security-opt seccomp:unconfined ...

1.2 ?cap-add=SYS_PTRACE

使用 --cap-add 明確添加指定功能:

docker run --cap-add=SYS_PTRACE ...

1.3 Docker Compose 的支持

Docker Compose 自 version 1.1.0 (2015-02-25) 起支持 cap_add。官方文檔:cap_add, cap_drop。用法:

前面的 docker-compose.yml 改寫后文件內容如下(相同內容部分就不重復貼了):

version: ’2’services: mysql: ... api: ... cap_add: - SYS_PTRACE

補充知識:關于docker容器中使用jmap等工具報錯問題解決

首先貼出錯誤截圖:

Docker 解決openjdk容器里無法使用JDK的jmap等命令問題

錯誤產生的原因, 是因為docker 1.10版本之后 默認禁用了ptrace

解決辦法就是我們運行容器打開ptrace:

在docker-compose.yml中加入如下代碼可解決:

Docker 解決openjdk容器里無法使用JDK的jmap等命令問題

保存后運行docker-compose up -d, 然后進入容器, docker exec -it <容器名> /bin/bash

再次使用jmap等工具, 就不會報錯了。

以上這篇Docker 解決openjdk容器里無法使用JDK的jmap等命令問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Docker
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美大片一区二区| 一区二区三区毛片| 亚洲品质自拍视频网站| 成人激情图片网| 欧美性猛交xxxx黑人交| 夜夜嗨av一区二区三区中文字幕| 欧美不卡高清| 日韩三级免费观看| 国产一区二区三区综合| 激情av一区| 精品国产一区二区亚洲人成毛片| 精品一区在线看| 91久久精品一区二区二区| 亚洲大片精品永久免费| 国产欧美不卡| 亚洲三级电影全部在线观看高清| 欧美精品aa| 国产女同性恋一区二区| 93久久精品日日躁夜夜躁欧美| 日韩欧美一区电影| 国产一区二区三区精品欧美日韩一区二区三区 | 91论坛在线播放| 日韩午夜精品电影| 懂色av一区二区夜夜嗨| 日韩午夜av一区| 成人av网在线| 国产区在线观看成人精品| 欧美日韩精品不卡| 国产精品久久一卡二卡| 亚洲久久视频| 亚洲女同一区二区| 亚洲美女啪啪| 亚洲影视在线播放| 国产精品永久入口久久久| 亚洲电影一区二区| 美女图片一区二区| 美国欧美日韩国产在线播放| 欧美日韩精品一区视频| 国产一区二区三区不卡在线观看 | 欧美精品一区男女天堂| 91在线视频在线| 久久精品视频在线免费观看| 午夜日韩在线| 亚洲色图在线视频| 国产日韩一区二区三区在线| 天使萌一区二区三区免费观看| 久久亚洲风情| 日本欧美一区二区三区乱码| 欧美色网一区二区| 成人免费毛片片v| 欧美国产欧美亚州国产日韩mv天天看完整 | 一本色道久久综合狠狠躁的推荐| 蜜臀久久久久久久| 91精品国产综合久久小美女| 91偷拍与自偷拍精品| 亚洲欧美激情一区二区| 色婷婷精品久久二区二区蜜臀av| 国产综合色视频| 欧美va在线播放| 国产一区二区三区自拍| 洋洋成人永久网站入口| 老**午夜毛片一区二区三区| 国产一区二区美女诱惑| 久久精品欧美日韩精品| 亚洲欧洲一区二区天堂久久| 亚洲午夜视频在线| 欧美无乱码久久久免费午夜一区| 国产大陆a不卡| 日本一区二区免费在线| 亚洲精品女人| 精品亚洲成a人| 国产日韩一级二级三级| 亚洲尤物在线| 久久se这里有精品| 精品国产一区二区三区忘忧草| 在线观看欧美一区| 亚洲成a人片在线观看中文| 欧美日本国产一区| 色综合中文字幕国产 | 99精品国产福利在线观看免费| 奇米一区二区三区av| 日韩精品在线看片z| 99riav国产精品| 激情深爱一区二区| 国产精品麻豆网站| 色婷婷久久久久swag精品| av一二三不卡影片| 一区二区免费在线播放| 欧美日韩激情一区二区三区| 白白色 亚洲乱淫| 亚洲色图欧美偷拍| 欧美丰满嫩嫩电影| 99精品福利视频| 国产精品资源在线看| 国产精品久久午夜夜伦鲁鲁| 91成人看片片| 91丨porny丨中文| 天堂精品中文字幕在线| 精品美女在线播放| 麻豆av一区二区三区| 成人激情免费网站| 亚洲成人资源网| 精品久久久影院| 蜜桃视频一区| 欧美连裤袜在线视频| 日本免费新一区视频| 国产日产欧美一区| 在线视频你懂得一区二区三区| 欧美激情偷拍| 久久99久久99精品免视看婷婷| 中文字幕一区二区三区在线播放| 欧美精品一二三区| 中文在线一区| 成人免费黄色大片| 性做久久久久久免费观看| 欧美精品一区二区三区高清aⅴ| 久久婷婷激情| 欧美成人一品| 国产乱码精品一品二品| 亚洲国产精品一区二区久久恐怖片| 日韩一级片在线观看| 久久久久欧美精品| 欧美 日韩 国产一区二区在线视频| 另类小说欧美激情| 亚洲精品中文字幕在线观看| 欧美xxxxxxxxx| 在线精品视频小说1| 亚洲激情网站| 成人午夜av电影| 日本欧美肥老太交大片| 自拍偷拍欧美精品| 久久综合色一综合色88| 欧美在线免费观看亚洲| 一区二区三区av| 91丝袜高跟美女视频| 精品一区二区三区蜜桃| 亚洲国产aⅴ成人精品无吗| 久久婷婷综合激情| 欧美日韩精品欧美日韩精品| 久久精选视频| 伊人婷婷久久| 色综合视频在线观看| 国产精品亚洲第一| 蜜桃视频一区二区三区| 一区二区三区日韩精品| 中文乱码免费一区二区| 精品国产一区二区三区四区四| 欧美日韩在线综合| 玖玖精品视频| 国产一区二区黄色| 黄色亚洲精品| 91麻豆精东视频| 成人免费黄色大片| 国产成a人无v码亚洲福利| 美女诱惑一区二区| 水野朝阳av一区二区三区| 亚洲色图一区二区三区| 中文字幕av不卡| 久久色在线视频| 精品久久人人做人人爽| 欧美大度的电影原声| 欧美一区二区三区公司| 欧美美女直播网站| 91福利视频久久久久| 色久优优欧美色久优优| 亚洲一区二区三区免费观看 | 亚洲精品日韩一| 中文字幕一区二区三区在线播放 | 国产精品色在线观看| 久久综合网色—综合色88| 日韩欧美一级二级| 91精品国产色综合久久ai换脸| 欧美日本精品一区二区三区| 欧美美女一区二区| 欧美美女激情18p| 91麻豆精品国产综合久久久久久| 欧美日韩成人在线| 91精品国产综合久久福利软件| 欧美久久久久久久久久| 欧美高清激情brazzers| 欧美区一区二区三区| 欧美日韩三级一区| 51午夜精品国产| 在线综合视频播放| 日韩一区二区三区电影| 精品国产乱码久久久久久夜甘婷婷| 精品久久人人做人人爰| 久久久久国产精品麻豆| 久久精品夜色噜噜亚洲aⅴ| 久久婷婷久久一区二区三区| 国产欧美精品一区| 中文字幕一区二区三区不卡在线 | 欧美日韩久久久一区| 欧美绝品在线观看成人午夜影视| 欧美精品一二三| 日韩一区二区免费在线电影 | 在线精品视频免费观看| 欧美三级电影精品| 91精品免费在线| 欧美电视剧在线看免费|