Arthas在Docker容器中的使用-环境搭建

前言

  • 实际开发中,项目通常运行在 docker 容器内,学习 Arthas 前,需要构建容器环境
  • 使用 docker pull tomcat 命令从 docker Hub拉取下来的镜像,使用的是 openJdk,其不含用 jps 命令,执行java -jar arthas.jar 启动 arthas 时,会报错,提示找不到 java process

1.构建 Tomcat+Jdk 环境前,下载 tomcat、jdk 安装包

下载 tomcat8.5image.png 下载 jdk1.8image.png

2.创建 Dockerfile 文件,生成镜像

  • 将下载好的 tomcat、jdk 上传至 Linux 中image.png
  • 创建 Dockerfile 文件,文件内容如下,其中 CMD ["/usr/local/apache-tomcat-8.5.31/bin/catalina.sh","run"] 可以使用 docker logs 打印日志。CMD /usr/local/apache-tomcat-8.5.31/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.31/logs/catalina.out 会将日志放在 catalina.out 文件中,在docker run 时需配置上日志的挂载,方便查看日志,使用docker logs 无法查看到日志
FROM centos
# 设置镜像标签
LABEL commant=easysan
# 设置镜像作者
MAINTAINER easysan<[email protected]>
#把java与tomcat添加到容器中
ADD jdk-8u212-linux-x64.tar.gz /usr/local
ADD apache-tomcat-8.5.31.tar.gz /usr/local
#安装vim编辑器
RUN yum -y install vim
#设置工作访问时候的WORKDIR路径,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_212
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.31
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.31
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器运行时监听的端口
EXPOSE 8080
#启动时运行tomcat
# ENTRYPOINT ["/usr/local/apache-tomcat-9.0.8/bin/startup.sh" ]
CMD ["/usr/local/apache-tomcat-8.5.31/bin/catalina.sh","run"]
# CMD /usr/local/apache-tomcat-8.5.31/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.31/logs/catalina.out
复制代码
  • 在目录 /mydata/tomcat下使用 docker build -t arthas-tomcat:v1.1.0 . 创建镜像image.pngimage.png

3.启动容器

docker run -p 9999:8080 --name arthas_tomcat -v /mydata/tomcat/webapps/:/usr/local/apache-tomcat-8.5.31/webapps -v /etc/localtime:/etc/localtime:ro -d arthas-tomcat:v1.1.0
复制代码

4.创建一个简单的 spring boot 项目,打war包上传到 /mydata/tomcat/webapps/目录下,重启容器docker restart 9b87fdb14cb2

image.png

image.png

5.下载启动 Arthas,详细步骤可参考官网

  • 进入容器 docker exec -it 9b87fdb14cb2 /bin/bash,此时所在目录为/usr/local。新建目录mkdir arthas 进入cd arthas目录,此处用于存放下载下来的 arthas.jar
  • 下载curl -O https://arthas.aliyun.com/arthas-boot.jar,并启动java -jar arthas.jar
  • 根据检查出的 java 进程,选择对应的序号

image.png

6.Arthas-容器环境搭建完成

Guess you like

Origin juejin.im/post/7035303889280696351