https://github.com/apache/skywalking-docker/tree/master/6/6.5

https://hub.docker.com/r/apache/skywalking-oap-server
https://hub.docker.com/r/apache/skywalking-ui

mkdir /opt/skywalking-oap-server

wget -P /opt/skywalking-oap-server https://github.com/apache/skywalking-docker/blob/master/6/6.5/oap/docker-entrypoint.sh

wget -P /opt/skywalking-oap-server https://github.com/apache/skywalking-docker/blob/master/6/6.5/oap/log4j2.xml

vim /opt/skywalking-oap-server/Dockerfile

FROM apache/skywalking-oap-server:6.5.0
EXPOSE 12800 11800 1234

vim /opt/skywalking-oap-server/docker-compose.yml

es:

非docker版 目前已经支持es7.x,需配置成

storage:
elasticsearch7: 以下是es6
version: '3.3'
services:
oap:
image: v-skywalking-oap-server
container_name: skywalking-oap-server
build:
context: .
dockerfile: Dockerfile
restart: always
ports:
- 11800:11800
- 12800:12800
- 1234:1234
environment:
SW_STORAGE: elasticsearch
SW_STORAGE_ES_CLUSTER_NODES: 192.168.1.101:9200

mysql:

version: '3.3'
services:
oap:
image: v-skywalking-oap-server
container_name: skywalking-oap-server
build:
context: .
dockerfile: Dockerfile
restart: always
ports:
- 11800:11800
- 12800:12800
- 1234:1234
environment:
SW_STORAGE: mysql
SW_JDBC_URL: "jdbc:mysql://192.168.0.101:3306/skywalking?useSSL=false"
SW_DATA_SOURCE_USER: root
SW_DATA_SOURCE_PASSWORD: root
SW_DATA_SOURCE_CACHE_PREP_STMTS: "true"
SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE: 250
SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT: 2048
SW_DATA_SOURCE_USE_SERVER_PREP_STMTS: "true"
SW_STORAGE_MYSQL_QUERY_MAX_SIZE: 5000
volumes:
- ./oap-libs/mysql-connector-java-5.1.47.jar:/skywalking/oap-libs/mysql-connector-java-5.1.47.jar

若以nacos作为集群模式

nacos的docker-compose配置
https://github.com/apache/skywalking-docker/blob/master/6/6.5/oap/docker-entrypoint.sh

generateClusterNacos() {
cat <<EOT >> ${var_application_file}
cluster:
nacos:
serviceName: \${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
hostPort: \${SW_CLUSTER_NACOS_HOST_PORT:nacos:}
namespace: \${SW_CLUSTER_NACOS_NAMESPACE:nacos:"public"}
EOT
}

SW_CLUSTER: nacos
默认standalone

version: '3.3'
services:
oap:
image: v-skywalking-oap-server
container_name: skywalking-oap-server
build:
context: .
dockerfile: Dockerfile
restart: always
ports:
- 11800:11800
- 12800:12800
- 1234:1234
environment:
SW_CORE_GRPC_HOST: 0.0.0.0
SW_CORE_GRPC_PORT: 11800
SW_CORE_REST_HOST: 0.0.0.0
SW_CORE_REST_PORT: 12800
SW_STORAGE: mysql
SW_JDBC_URL: "jdbc:mysql://mysqlserver:3306/skywalking?useSSL=false"
SW_DATA_SOURCE_USER: root
SW_DATA_SOURCE_PASSWORD: root
SW_DATA_SOURCE_CACHE_PREP_STMTS: "true"
SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE: 250
SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT: 2048
SW_DATA_SOURCE_USE_SERVER_PREP_STMTS: "true"
SW_STORAGE_MYSQL_QUERY_MAX_SIZE: 5000
SW_CLUSTER: nacos
SW_SERVICE_NAME: SkyWalking_OAP_Cluster
SW_CLUSTER_NACOS_HOST_PORT: nacosserver:8848
SW_CLUSTER_NACOS_NAMESPACE: public
SW_CORE_ENABLE_DATA_KEEPER_EXECUTOR: "true"
SW_CORE_DATA_KEEPER_EXECUTE_PERIOD: 5
SW_CORE_RECORD_DATA_TTL: 90
SW_CORE_MINUTE_METRIC_DATA_TTL: 90
SW_CORE_HOUR_METRIC_DATA_TTL: 36
SW_CORE_DAY_METRIC_DATA_TTL: 45
SW_CORE_MONTH_METRIC_DATA_TTL: 18
SW_CORE_ENABLE_DATABASE_SESSION: "true"
volumes:
- ./oap-libs/mysql-connector-java-5.1.47.jar:/skywalking/oap-libs/mysql-connector-java-5.1.47.jar
extra_hosts:
- "mysqlserver:192.168.0.101"
- "nacosserver:192.168.0.101"

下载mysql-connector-java-5.1.47.jar

wget -P /opt/downloads https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.47.tar.gz
mkdir /opt/skywalking-oap-server/oap-libs
tar zxvf /opt/downloads/mysql-connector-java-5.1.47.tar.gz -C /opt/skywalking-oap-server/oap-libs
cp /opt/skywalking-oap-server/oap-libs/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47.jar /opt/skywalking-oap-server/oap-libs/
rm -rf /opt/skywalking-oap-server/oap-libs/mysql-connector-java-5.1.47

在Mysql创建skywalking库

初始化mysql脚本

mkdir /opt/skywalking-oap-server/bin/

vim /opt/skywalking-oap-server/bin/oapServiceInit.sh

#!/usr/bin/env sh

PRG="$0"
PRGDIR=`dirname "$PRG"`
[ -z "$OAP_HOME" ] && OAP_HOME=`cd "$PRGDIR/.." >/dev/null; pwd` OAP_LOG_DIR="${OAP_HOME}/logs"
JAVA_OPTS=" -Xms256M -Xmx512M" if [ ! -d "${OAP_HOME}/logs" ]; then
mkdir -p "${OAP_LOG_DIR}"
fi _RUNJAVA=${JAVA_HOME}/bin/java
[ -z "$JAVA_HOME" ] && _RUNJAVA=java CLASSPATH="$OAP_HOME/config:$CLASSPATH"
for i in "$OAP_HOME"/oap-libs/*.jar
do
CLASSPATH="$i:$CLASSPATH"
done OAP_OPTIONS=" -Doap.logDir=${OAP_LOG_DIR}" eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} ${OAP_OPTIONS} -classpath $CLASSPATH -Dmode=init org.apache.skywalking.oap.server.starter.OAPServerStartUp \
2>${OAP_LOG_DIR}/oap.log 1> /dev/null &" if [ $? -eq 0 ]; then
sleep 1
echo "SkyWalking OAP started successfully!"
else
echo "SkyWalking OAP started failure!"
exit 1
fi

存储参考:https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/backend-storage.md

cd /opt/skywalking-oap-server
docker-compose build
docker-compose up -d --force-recreate
docker-compose down
docker-compose restart

查看日志
docker logs --tail="500" skywalking-oap-server

必须在容器启动后进入容器后执行初始化脚本:

docker exec -it skywalking-oap-server /bin/bash
chmod 777 /skywalking/bin/oapServiceInit.sh
/skywalking/bin/oapServiceInit.sh

复制出配置

docker cp skywalking-oap-server:/skywalking/config/application.yml /opt/skywalking-oap-server/application_bak.yml

--------------------------------------------------------------------

mkdir /opt/skywalking-ui

wget -P /opt/skywalking-ui https://github.com/apache/skywalking-docker/blob/master/6/6.3/ui/docker-entrypoint.sh

wget -P /opt/skywalking-ui https://github.com/apache/skywalking-docker/blob/master/6/6.3/ui/logback.xml

vim /opt/skywalking-ui/Dockerfile

FROM apache/skywalking-ui:6.5.0
EXPOSE 8080

vim /opt/skywalking-ui/docker-compose.yml

version: '3.3'
services:
oap:
image: v-skywalking-ui
restart: always
container_name: skywalking-ui
build:
context: .
dockerfile: Dockerfile
restart: always
ports:
- 11880:8080
environment:
SW_OAP_ADDRESS: skywalkingoapserver:12800
extra_hosts:
- "skywalkingoapserver:192.168.0.101"

SW_OAP_ADDRESS可以是oap集群的多个地址


ui的路径为/skywalking/webapp/webapp.yml

cd /opt/skywalking-ui
docker-compose build
docker-compose up -d --force-recreate
docker-compose down
docker-compose restart

查看日志
docker logs --tail="500" skywalking-ui

进入容器
docker exec -it skywalking-ui /bin/bash

复制出配置

docker cp skywalking-ui:/skywalking/webapp/webapp.yml /opt/skywalking-ui/webapp_bak.yml

需要agent时安装包下载地址:http://skywalking.apache.org/downloads/

agent集群配置

collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.0.101:11800,192.168.0.102:11800}

注:java程序部署在docker里 spring.cloud.sentinel.transport.client-ip 就需设置了

skywalking安装运行(docker)的更多相关文章

  1. Docker——MacOS上安装运行docker

    近几年来,Docker越来越流行,使用场景也越来越广泛.为了能尽快跟上时代步伐.学习并应用到实际工作中,我也开始了Docker之旅. Docker版本 Docker共有两种版本: 社区版(Commun ...

  2. TICK/TIGK运维栈安装运行 docker【中】

    InfluxDB docker search influxdb docker pull influxdb docker run -d -p 8086:8086 -v /var/lib/influxdb ...

  3. elastic stack安装运行(docker)

    https://www.docker.elastic.co 注:目前阿里云为7.4 elasticsearch 参考https://www.elastic.co/guide/en/elasticsea ...

  4. Centos7基于容器安装运行Docker私有仓库及添加认证

    一.前言 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理 ...

  5. kafka安装运行(docker)

    zookeeper参照https://www.cnblogs.com/wintersoft/p/11128484.html mkdir /opt/kafka -pvim /opt/kafka/Dock ...

  6. zookeeper安装运行(docker)

    拉取镜像docker pull zookeeper:latest 获取镜像基本信息docker inspect zookeeper mkdir /opt/zookeeper -p vim /opt/z ...

  7. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

  8. windows使用docker运行mysql等工具(二)安装运行mysql

    今天接着上一篇的内容继续来学习安装运行mysql.建议先阅读第一篇:windows安装docker 一 查看mysql版本 如果想知道mysql镜像具体有哪几个版本,需要去docker hub查看. ...

  9. docker下安装运行mysql的过程以mysql5.7为例

    一.查找mysql资源 docker search mysql 其实这步顶多是看看有哪些mysql资源,除非你自己commit过一个特定的版本,否则直接执行下一步 二.安装mysql docker p ...

随机推荐

  1. Flink入门 - API

    final StreamExecutionEnvironment streamExecutionEnvironment = StreamExecutionEnvironment.getExecutio ...

  2. python错误日志记录工具,解决项目排错问题

    我们写项目的时候难免会遇到代码报错的问题,遇到这样的问题了如何快速的定位问题并解决问题呢? 我今天来整理了利用python只带的工具来解决这个问题,我能需要使用的库有: logging os 这些都是 ...

  3. SpringBoot 传入JSON对象参数

    1.请求参数格式必须是正确的JSON. 2.在入参中使用注解@RequestBody,用于接收JSON参数,使其自动转对象 3.关于lombok在此产生的一点小坑,@Builder对@RequestB ...

  4. MySQL Replication--复制基本工作原理

    复制工作原理(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events):(2) slave将master的binary lo ...

  5. pandas之数据处理

    首先,数据加载 pandas提供了一些用于将表格型数据读取为DataFrame对象的函数,期中read_csv和read_table这两个使用最多. 1.删除重复元素 使用duplicated()函数 ...

  6. MySQL用户与权限

    用户连接到mysql,并做各种查询,在用户和服务器中间分为两个阶段: 1:用户是否有权连接上来 2:用户是否有权执行此操作(如select,update等等) 先看第一个阶段:服务器如何判断用户是否有 ...

  7. windows10 进入BIOS

    windows10开机进入不了BIOS 原因 上网查了电脑固件所应该有的进入键,什么F1.F2.F12.Delete以及什么要配置Fn+F1...等等方法就是开机进入不了BIOS. 解决办法 最后发现 ...

  8. C程序中的内存分布

    一个典型的C程序存储分区包含以下几类: Text段 已初始化数据段 未初始化数据段 栈 堆 进程运行时的典型内存布局 1. Text段 Text段通常也称为代码段,由可执行指令构成,是程序在目标文件或 ...

  9. 哈希长度拓展攻击之De1CTF - SSRF Me

    题目考查:python代码审计.hash长度拓展攻击 0x01 题目源码: #! /usr/bin/env python #encoding=utf-8 from flask import Flask ...

  10. BLE——协议层次结构

    未完待续…… BLE协议 Bluetooth Application Applications GATT-Based Profiles/Services Bluetooth Core (Stack) ...