首页 > 其他分享 >Docker部署ArthasTunnel

Docker部署ArthasTunnel

时间:2023-11-29 10:47:34浏览次数:43  
标签:部署 jar server ---- tunnel arthas Docker ArthasTunnel docker

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

相关文章

  • 部署 Tekton Dashboard
    部署TektonDashboard下载TektonDashboard部署清单#wgethttps://storage.googleapis.com/tekton-releases/dashboard/latest/release.yaml替换gcr.io#sed-i'[email protected]@gcr.dockerproxy.com@g'release.yaml部署Tekton Dashboard#kubectlapply-frelease.yam......
  • docker故障:driver failed programming external connectivity on endpoint
    故障现象Errorresponsefromdaemon:driverfailedprogrammingexternalconnectivityonendpointjenkins(ffdc7c9cda72c575d6b045574d1432b256603a3d986a05da319ab7f3af233755):(iptablesfailed:iptables--wait-tnat-ADOCKER-ptcp-d0/0--dport50000-jDN......
  • Docker + supervisor在同一容器中部署zookeeper和kafka
    使用supervisor进程管理工具,在同一个容器中部署zookeeper和kafka目录Dockerfilejdk1.8.0_181.tar.gzkafka_2.12-1.1.0.tgzconf.ddocker-compose.ymlkafka_conf.dconf.d中为supervisor配置文件kafka_conf.d中为kafka配置文件,解压kafka_2.12-1.1.0.tgz中的配置文件,拷贝......
  • fc大语言模型部署+本地知识库
      FCInvokeStartRequestId:930989fb-8910-400d-b981-1de87e89a3e3Info:@serverless-cd/engine:0.0.51,linux-x64,node-v14.19.2plugin@serverless-cd/checkouthasbeeninstalledplugin@serverless-cd/s-setuphasbeeninstalledplugin@serverless-cd/s-deplo......
  • docker 拷贝docker中文件,并获取最新
    1、2、#!/bin/bashdate_str=$(date+_%Y_%m_%d_%H_%M_%S.sql.gz)echo'开始备份数据'$date_str#获取容器idmysqlid=`dockerps-aqf"name=mysql57"`#进入mysql容器dockerexec-i${mysqlid}/bin/bash<<'EOF'mysqldump-hlocalhost-uroot......
  • fastadmin部署出现后台登录404,前台正常
    部署fastadmin程序的时候后台登录界面404,前台正确http://127.0.0.1/hCLOyNErFa.php自动跳转到http://127.0.0.1/hCLOyNErFa.php/index/login原因:伪静态的问题fastadmin默认部署推荐的是thinkphp伪静态location~*(runtime|application)/{return403;}location/{......
  • Dockerfile使用
    什么是Dockerfile?Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。命令注意:Dockerfile的指令每执行一次都会在docker上新建一层。所以过多无意义的层,会造成镜像膨胀过大。可以放在一起的命令尽量放在一起。FROMFROMnginx#FRO......
  • Apache DolphinScheduler(海豚调度系统)介绍与环境部署
    https://dolphinscheduler.apache.org/zh-cn/docs/3.2.0  一、概述ApacheDolphinScheduler(简称DolphinScheduler)是一种开源的、分布式的、易于使用的大数据工作流调度系统。它旨在为大数据处理提供一个可靠、高效和可扩展的调度解决方案。DolphinScheduler具有以下特点和......
  • docker离线一键安装脚本
    下载安装文件https://download.docker.com/linux/static/stable/x86_64/https://github.com/docker/compose/releases本例安装文件下载地址https://download.docker.com/linux/static/stable/x86_64/docker-23.0.6.tgzhttps://github.com/docker/compose/releases/download/v......
  • 四、Docker 镜像
    1.什么是镜像UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(uniteseveraldirectoriesintoasinglevirtualfilesystem)。Union文件系统......