Docker部署SkyWalking

Docker部署SkyWalking

前置环境

docker 19.03.13
ElasticSearch 7.2.0

部署步骤

部署服务端 skywalking-oap

   -- 使用6.6.0版本的skywalking,先部署服务端
   docker run --name skywalking-oap \
       --restart always -d \
       -p 1234:1234 \
       -p 11800:11800 \
       -p 12800:12800 \
       -e TZ=Asia/Shanghai \
       -e SW_STORAGE=elasticsearch \
       -e SW_STORAGE_ES_CLUSTER_NODES=192.168.100.68:9200 \
       apache/skywalking-oap-server:6.6.0-es7
   -- 查询启动日志
   docker logs --tail=100 -f skywalking-oap
脚本说明
SW_STORAGE:指定数据源的存储方式,默认为H2
SW_STORAGE_ES_CLUSTER_NODES: 指定elsticsearch服务

部署UI skywalking-ui

   docker run -d --name skywalking-ui \
       --restart=always -d \
       -e TZ=Asia/Shanghai \
       -p 8072:8080  \
       -e SW_OAP_ADDRESS=192.168.100.18:12800 \
       apache/skywalking-ui:6.6.0
脚本说明
SW_OAP_ADDRESS: 指定oap服务地址

服务器java项目部署

源码包下载
-- 创建存放目录
mkdir -p  /home/jameli/docker/software/skywalking
-- 进入目录
cd /home/jameli/docker/software/skywalking
-- 下载agentjar
wget https://archive.apache.org/dist/skywalking/6.6.0/apache-skywalking-apm-6.6.0.tar.gz
-- 解压
tar -zxvf apache-skywalking-apm-6.6.0.tar.gz
Jar 直接启动
nohup java -javaagent:/home/jamelli/docker/software/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar \
    -Dskywalking.agent.service_name=xxx-xxx-server \
    -Dskywalking.collector.backend_service=192.168.100.18:11800 \
    -jar app.jar  --server.port=8073 >./test-oauth-server.txt &
脚本说明
javaagent: 指定oap解压的jar路径
service_name
docker启动
docker启动需要三个文件放在同目录

deploy.sh    发布脚本
Dockerfile  docker脚本
app.jar     需要运行的jar包

#启动脚本 
./deploy.sh xxx-xxx-server 8081 &

deploy.sh文件

##!/usr/bin/env bash

CONTAINER_NAME=$1
IMAGE_NAME=$1
PORT=$2

echo "正在重新部署 ${CONTAINER_NAME}"

# #停止正在运行的容器
docker stop ${CONTAINER_NAME}

# #删除旧容器
docker rm ${CONTAINER_NAME}

# #删除image,确保下载的是最新镜像
docker rmi ${IMAGE_NAME}

#构建镜像文件
docker build -t ${CONTAINER_NAME} .

#启动容器
docker run --name ${CONTAINER_NAME} \
        --net=host -d -p ${PORT} \
        -v /opt/docker/middleware/${CONTAINER_NAME}/logs/:/data/projects/logs/${CONTAINER_NAME}/  \
        -v /home/creationpoint/docker/software/skywalking/apache-skywalking-apm-bin/agent/:/home/creationpoint/docker/software/skywalking/apache-skywalking-apm-bin/agent/ \
        -m 2048m \
        --memory-swap=2724m \
        -c 2048 \
        ${CONTAINER_NAME}

echo "容器 ${CONTAINER_NAME} 重新部署成功"

docker logs -f ${CONTAINER_NAME}

Dockerfile文件

FROM openjdk:11-jre

COPY app.jar /app.jar

ENV TZ=Asia/Shanghai

ENTRYPOINT ["java", "-Xmx512m", "-Djava.security.egd=file:/dev/./urandom", "-javaagent:/home/creationpoint/docker/software/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar","-Dskywalking.agent.service_name=$SERVERNAME" "-Dskywalking.collector.backend_service=192.168.100.18:11800", "-jar", "/app.jar"]

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

CMD ["--spring.profiles.active=docker"]

$SERVERNAME 填写自己应用的名称 ,如 xxx-xxx-server
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值