精华内容
下载资源
问答
  • k8s内docker使用arthas

    2021-06-11 13:44:51
    1.下载并解压 wget -c ...unzip arthas-bin.zip 2.下载jdk apk add openjdk8 3.非首进程执行jar //以sh的方式执行 RUN echo "/usr/local/tomcat/bin/catalina.sh run" > start.sh \ &

    1.下载并解压

    wget -c https://github.com/alibaba/arthas/releases/download/arthas-all-3.5.1/arthas-bin.zip
    
    unzip arthas-bin.zip
    
    

    2.下载jdk

    apk add openjdk8
    

    3.非首进程执行jar

    //以sh的方式执行
    RUN echo "/usr/local/tomcat/bin/catalina.sh run" > start.sh \
                 && chmod 777 start.sh
    CMD ./start.sh
    
    展开全文
  • jenkins-git-docker-arthas

    2020-12-28 22:03:39
    jenkins-git-docker-arthas 1:下载Jenkins.war 网站:https://get.jenkins.io/war-stable/ 2:运行war 确保已经安装了jdk8 + 在war所在的目录运行 java -jar jenkins.war & 查看程序是否起来 **jps -l** ...

    1:下载Jenkins.war

    网站:https://get.jenkins.io/war-stable/

    2:运行war

    确保已经安装了jdk8 +

    在war所在的目录运行

    java -jar jenkins.war &
    
    查看程序是否起来  **jps -l**
    

    image-20201226233610378

    查看端口是否起来,默认8080
    

    image-20201226233554774

    3:切换源

    将源更换成清华大学的源,为后续的插件下载提供便利(墙了)

    vim .jenkins/hudson.model.UpdateCenter.xml
    
    <?xml version='1.1' encoding='UTF-8'?>
    <sites>
      <site>
        <id>default</id>
        <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
      </site>
    </sites>
    
    

    4:安装插件

    4.1进入插件栏目

    image-20201226234042709

    4.2:选择一些必须的插件

    插件名称作用
    Gitee Plugingit插件,可以选择svn插件
    Maven Integration pluginmaven插件,用于编译源文件
    Publish Over SSH远程文件上传
    Localization: Chinese (Simplified)简体中文插件

    安装完成后重启 – 可以使用kill 进程,或者点击页面弹出的按钮restart

    image-20201226235004560

    5:配置全局环境变量

    5.1:maven

    查看maven的安装目录

    mvn -v
    

    image-20201226235619917

    image-20201227000116622

    image-20201227000137923

    5.2:git

    whereis git
    

    image-20201227000231884

    5.3:jdk

    /usr/local/jdk/jdk1.8.0_131
    

    image-20201227000629399

    5.4:保存

    6:配置over ssh

    image-20201227001427038

    7:创建测试项目

    7.1:创建一个Jenkinsjob

    image-20201227001610282

    7.2:创建最简单的springboot项目

    7.3:添加凭据

    后续在Jenkins拉取远程源代码的时候时候会用到

    image-20201227003819375

    7.4:配置Jenkinsjob-源码管理

    待会要编译的代码从哪里拉取,以及需要的凭据

    image-20201227003954198

    7.5:添加maven 打包命令

    image-20201227004838463

    7.6:打包后触发脚本

    image-20201227004914264

    7.7:上传文件,以及执行脚本

    image-20201227032502418

    projectName=test-cicd-docker
    env=test
    vendor=${BUILD_NUMBER}
    oldVendor=${BUILD_NUMBER} -1
    outPort=8080
    targetPort=8080
    cd /usr/local/jars
    
    docker stop $(docker ps -a | grep "$projectName"_"$oldVendor" | awk '{print $1}')
    
    docker build -t $projectName:$vendor .
    
    docker run -d --name "$projectName"_"$vendor" -e SPRING_PROFILES_ACTIVE="$env" -p $outPort:$targetPort $projectName:$vendor
    

    7.8:注意

    exec command中的env指定环境变量,在docker run中取值,同样的-e参数传入docker run 指定的参数

    8:Dockerfile

    由于网络的原因,如下我自己构建了一个jdk的镜像, jdk1.8.0_131

    FROM jdk1.8.0_131
    ADD target/test-cicd-docker-0.0.1-SNAPSHOT.jar /home/zhucc/app.jar
    WORKDIR ./home/admin
    ENTRYPOINT java -jar /home/zhucc/app.jar --spring.profiles.active=$SPRING_PROFILES_ACTIVE
    
    

    9:测试

    9.1配置文件1,2,3

    配置文件1

    image-20201227033158358

    配置文件2

    image-20201227033225933

    配置文件3

    image-20201227033251259

    简单的控制层

    @RestController
    public class TestController {
    
        @Value("${env}")
        private String env;
    
        @RequestMapping("test")
        public String test(){
            return env;
        }
    
    }
    

    将以上代码提交

    9.2:创建环境视图

    用于区分不同的环境,对于不同的环境Jenkins可以做到权限控制,请自行研究

    9.3:测试test环境

    image-20201227033843197

    docker ps
    

    发现docker已经起来了

    image-20201227033942789

    正确显示结果

    image-20201227035354753

    9.4:测试online环境

    image-20201227035526717

    docker ps
    

    image-20201227035600687

    正确显示结果

    image-20201227035747448

    测试到这里就愉快的结束了

    10:拓展-当碰上arthas

    10.1:加入arthas镜像

    image-20201227121943756

    打包成功

    image-20201227040929823

    10.3:在docker中查看

    项目已经起来

    image-20201227041051718

    进入docker容器,并cd 到 /opt/arthas目录下

    image-20201227122113952

    启动 arthas-boot.jar

    image-20201227122215151

    敲数字1 attach当前jvm进程,页面是这个样子的

    image-20201227122245909

    10.4:配合着idea+arthas插件来查看线上jvm运行情况等

    插件地址

    https://plugins.jetbrains.com/plugin/13581-arthas-idea/versions
    

    接下里演示几个简单的命令

    -- jvm
    

    image-20201227042706062

    -- thread
    

    image-20201227042726411

    这个比较牛逼,可以看到那些线程是阻塞的

    thread -b
    

    image-20201227042816848

    -- dashboard
    

    image-20201227042855078

    10.5:线上接口参数查看,特别好用

    利用插件给出命令

    image-20201227122519471

    watch com.zcc.testcicddocker.TestController test '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'
    

    粘贴回车

    image-20201227122556137

    curl 一个接口:观察结果

    image-20201227122727320

    10.6:更多的操作请参考

    https://blog.csdn.net/weixin_45191798/article/details/103256030

    http://arthas.gitee.io/

    展开全文
  • docker中怎么使用arthas

    2021-06-01 17:04:30
    大部分的项目都运行在了docker容器中了, 那怎么用arthas呢? 1:首先拷贝arthas包下来: ...[root@localhost java]# docker cp arthas-boot.jar 50e46094fa16:/appdata 当前前提是你先进入这个容器,.

    大部分的项目都运行在了docker容器中了,

    那怎么用arthas呢?

    1:首先拷贝arthas包下来:

    wget https://alibaba.github.io/arthas/arthas-boot.jar

    2:其次选中你需要查看的容器id:

    docker ps

    3:拷贝arthas程序包到容器目录下:

    [root@localhost java]# docker cp arthas-boot.jar 50e46094fa16:/appdata

    当前前提是你先进入这个容器,创建下这个目录(appdata)

    4:进入到容器目录

    [root@localhost java]# docker exec -it 50e46094fa16 /bin/sh

    启动arthas,并选择想要操作的进程序号

    jps命令可以查看已经启动运行的java程序;

    java -jar arthas-boot.jar

     

     

    https://blog.csdn.net/weixin_42072369/article/details/116646372

    展开全文
  • docker使用arthas

    2021-05-11 11:12:09
    这里直接使用的xshell进行的连接 2、下载 进入到服务挂载目录 [root@localhost java]# /home/campus/t3/java/ [root@localhost java]# ls 下载arthas程序包 [root@localhost java]# curl -O ...

    arthas官网:https://arthas.aliyun.com/doc/quick-start.html#math-game

    1、进入到服务部署的机器环境中

    这里直接使用的xshell进行的连接
    在这里插入图片描述

    2、下载

    进入到服务挂载目录

    [root@localhost java]# /home/campus/t3/java/
    [root@localhost java]# ls
    

    在这里插入图片描述
    下载arthas程序包

    [root@localhost java]# curl -O https://arthas.aliyun.com/arthas-boot.jar
    

    在这里插入图片描述

    3、启动

    查看想要操作的容器id

    [root@localhost java]# docker ps
    

    在这里插入图片描述或者

    [root@localhost java]# docker ps|grep wisdom-scheduler
    

    在这里插入图片描述
    拷贝arthas程序包到容器目录下

    [root@localhost java]# docker cp arthas-boot.jar 50e46094fa16:/appdata
    

    进入到容器目录

    [root@localhost java]# docker exec -it 50e46094fa16 /bin/sh
    

    在这里插入图片描述
    启动arthas,并选择想要操作的进程序号

    java -jar arthas-boot.jar
    

    在这里插入图片描述
    报了一个Unable to get pid of LinuxThreads manager thread的错误

    错误信息

    [ERROR] Start arthas failed, exception stack trace:
    com.sun.tools.attach.AttachNotSupportedException: Unable to get pid of
    LinuxThreads manager thread at
    sun.tools.attach.LinuxVirtualMachine.(LinuxVirtualMachine.java:86)
    at
    sun.tools.attach.LinuxAttachProvider.attachVirtualMachine(LinuxAttachProvider.java:78)
    at
    com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:250)
    at com.taobao.arthas.core.Arthas.attachAgent(Arthas.java:99) at
    com.taobao.arthas.core.Arthas.(Arthas.java:26) at
    com.taobao.arthas.core.Arthas.main(Arthas.java:137) [ERROR] attach
    fail, targetPid: 1

    GitHub Issues对应解决方案
    https://github.com/alibaba/arthas/issues/362
    提出两种解决方案:
    在这里插入图片描述
    原来启动程序的docker命令:

    docker run 相关参数
    

    修改后:

    docker run --init 相关参数
    

    重新启动后,java进程对应的容器id发生变化,重复上述步骤
    在这里插入图片描述
    启动成功
    输入dashboard,可以看到当前进程的相关信息
    在这里插入图片描述
    也可以直接使用下面的命令直接启动arthas,前提是已经将arthas程序包拷贝到了对应的/appdata目录下,/appdata是我的容器目录,改成自己的即可

    docker exec -it 03d667f1dd2f /bin/sh -c "java -jar /appdata/arthas-boot.jar"
    

    使用stop命令停止进程或者exit退出进程

    展开全文
  • Docker 通过Docker快速入门 删除本地已有的arthas-demodocker ...$ docker stop arthas-demo || true && docker rm arthas-demo || true 启动arthas-demo $ docker run --name arthas-de...
  • docker 运行并使用 arthas 的方式

    千次阅读 2020-03-13 19:31:58
    docker 运行并使用 arthas 的方式 docker run --init FROM openjdk:8-jdk-alpine # copy arthas COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas ENV LOG_PATH=/opt/logs \ LOG_HOME=/opt/logs/...
  • docker中启动arthas

    千次阅读 2019-06-23 11:42:11
    arthas,阿尔萨斯,是Alibaba开源的Java诊断工具。 github:https://github.com/alibaba/arthas 本文主要描述,如何将其jar包传递至docker中并启动。 下载 wget https://alibaba.github.io/arthas/arthas-boot.jar ...
  • 使用 spring-start 生成的事例项目 修改 maven 中的 build 节点, 增加 antrun 插件, 如下: <build> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 930
精华内容 372
关键字:

docker使用arthas