Docker部署ArthasTunnel
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
如果您认为这篇文章还不错或者有所收获,您可以通过右边的“打赏”功能 打赏我一杯咖啡【物质支持】,也可以点击右下角的【好文要顶】按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力!
作者:Super
声明:原创博客请在转载时保留原文链接或者在文章开头加上本人博客地址,如发现错误,欢迎批评指正。凡是转载于本人的文章,不能设置打赏功能,如有特殊需求请与本人联系!