1、下载ArthasTunnel
的安装包
下载地址:下载
2、部署
由于官方只提供了JAR包,如果你想通过Docker方式启动的话,可以自行打包Docker镜像,打包使用的Dockerfile脚本如下:
# 该镜像需要依赖的基础镜像 FROM openjdk:8-jdk-alpine # 将当前目录下的jar包复制到docker容器的/目录下 ADD arthas-tunnel-server.jar /arthas-tunnel-server.jar # 声明服务运行的端口 EXPOSE 8080 7777 # 指定docker容器启动时运行jar包 ENTRYPOINT ["java", "-jar","/arthas-tunnel-server.jar"]
这里再提供一个一键打包运行ArthasTunnel
容器的执行脚本run.sh
,脚本内容如下:
#!/usr/bin/env bash echo '----copy jar----' docker stop arthas-tunnel-server echo '----stop container----' docker rm arthas-tunnel-server echo '----rm container----' docker rmi arthas-tunnel-server:1.0-SNAPSHOT echo '----rm image----' # 打包编译docker镜像 docker build -t arthas-tunnel-server:1.0-SNAPSHOT . echo '----build image----' docker run -p 8080:8080 -p 7777:7777 --name arthas-tunnel-server -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime -v /mydata/app/arthas-tunnel-server/logs:/var/logs -d arthas-tunnel-server:1.0-SNAPSHOT echo '----start container----'
接下来吧ArthasTunnel
的JAR包、Dockerfile文件、执行脚本run.sh
上传到Linux服务器上,然后使用./run.sh
命令运行即可;
3、常见问题
问题1:./run.sh: 权限不够
解决方法:执行命令:chmod +x run.sh
问题2:unable to prepare context: path ".\r" not found
原因:
脚本在Windows系统编写时,换行是\r\n。
而在Linux系统中换行是\n。
所以在Linux中运行脚本时,系统会认为\r是一个真实的字符(不是换行符),导致运行错误。
解决方法:linux系统的脚本去掉\r,执行以下命令即可(该命令自动重写覆盖):
sed -i 's/\r//' run.sh
标签:部署,jar,server,----,tunnel,arthas,Docker,ArthasTunnel,docker From: https://www.cnblogs.com/adawoo/p/17863990.html