需求
- 我前一篇是在window環境下做的測試,實際情況現在的生成環境程序都部署在了docker環境下,此環境對arthas可能會缺失很多必要組件
- 目前的基礎環境是在docker容器中,只存在基本的tomcat容器運行的必要環境
步驟
- 首先進入容器docker exec -it xxx bash
- 我的tomcat目錄在/usr/local/tomcat 因此我在/usr/local/tool建立了個工具目錄,在里面執行curl -L https://alibaba.github.io/arthas/install.sh | sh
- 按官方要求做下去的話,會產生很多錯誤,我也遇到很多問題,這里列下必要的環境
- 運行as.sh 需要的環境有jdk8以上,且配置好環境變量,在/etc/profile文件下添加,jdk目錄
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
- 默認下載的tomcat的docker鏡像里面jdk環境可能只有jre的,並沒有攜帶工具文件,但arthas需要依賴lib包和bin包里面的包和工具,這里我docker外的centos環境安裝了jdk8的完整版,因此在外面可以運行下面兩句,自己找准自己的目錄,arthas需要jps工具和lib包里的內容
docker cp lib/ c9c3b9c608b2:/usr/lib/jvm/java-8-openjdk-amd64
docker cp jps c9c3b9c608b2:/usr/lib/jvm/java-8-openjdk-amd64/bin
- 工具cp完整后再運行發現會報telnet缺失的問題,那么還需要裝這個
apt-get install telnet
- 上面步驟都走完,再次運行就可以了
