
1.前期准备
shell
# 创建文件夹
root@ubuntu2204test99:~# mkdir skywailking
root@ubuntu2204test99:~# cd skywailking/
# 下载oap和ui镜像
root@ubuntu2204test99:~/skywailking# docker pull apache/skywalking-oap-server:10.2.0-java21
root@ubuntu2204test99:~/skywailking# docker pull apache/skywalking-ui:10.2.0-java21
# 启动容器
root@ubuntu2204test99:~/skywailking# docker run -d -it --name skywalking-oap apache/skywalking-oap-server:10.2.0-java21
root@ubuntu2204test99:~/skywailking# docker run -d -it --name skywalking-ui apache/skywalking-ui:10.2.0-java21
88e679e568c7e2c0bf53326da4201b4b26410f7456cd3e005194bba322c7258e
# 查看启动容器ID
root@ubuntu2204test99:~/skywailking# docker ps |grep sky
88e679e568c7 apache/skywalking-ui:10.2.0-java21 "bash docker-entrypo..." 8 seconds ago Up 7 seconds 8080/tcp skywalking-ui
2c426d0e6ac4 apache/skywalking-oap-server:10.2.0-java21 "bash docker-entrypo..." 5 seconds ago Up 5 seconds 1234/tcp, 11800/tcp, 12800/tcp
# 将容器中内容拷贝到本地并修改名称
root@ubuntu2204test99:~/skywailking# docker cp 88e679e568c7:/skywalking .
Successfully copied 38.1MB to /root/skywailking/.
root@ubuntu2204test99:~/skywailking# mv skywalking skywalking-ui
root@ubuntu2204test99:~/skywailking# docker cp 2c426d0e6ac4:/skywalking .
Successfully copied 137MB to /root/skywailking/.
root@ubuntu2204test99:~/skywailking# mv skywalking skywalking-oap
# 删除临时容器
root@ubuntu2204test99:~/skywailking# docker rm -f 88e679e568c7 2c426d0e6ac4
2. Docker-compose文件编写
yaml
version: '3.8'
services:
oap:
image: apache/skywalking-oap-server:10.2.0-java21
container_name: oap
ports:
- "11800:11800"
- "12800:12800"
- "1234:1234" #自监控端口
healthcheck:
test: [ "CMD-SHELL", "/skywalking/bin/swctl ch" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
environment:
SW_HEALTH_CHECKER: default
SW_TELEMETRY: prometheus
JAVA_OPTS: "-Xms2048m -Xmx2048m"
volumes:
- ./skywalking-oap:/skywalking #映射配置文件
ui:
image: apache/skywalking-ui:10.2.0-java21
container_name: ui
depends_on:
oap:
condition: service_healthy
ports:
- "9301:8080"
volumes:
- ./skywalking-ui:/skywalking #映射配置文件
3.修改OAP配置
yaml
root@ubuntu2204test99:~# cd skywailking/skywalking-oap
root@ubuntu2204test99:~/skywailking/skywalking-oap# vi config/application.yml
# 要修改的几个关键位置
# 存储设置
storage:
selector: ${SW_STORAGE:elasticsearch} # 使用elasticsearch存储
elasticsearch:
namespace: ${SW_NAMESPACE:"skywalking"} # es命名空间
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.1.99:9201,192.168.1.99:9202,192.168.1.99:9203} #es连接地址
.......
user: ${SW_ES_USER:"elastic"} #es账号
password: ${SW_ES_PASSWORD:"123456"} #es密码
.........
# 自监控配置
telemetry:
selector: ${SW_TELEMETRY:prometheus}
none:
prometheus:
#host: ${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
#port: ${SW_TELEMETRY_PROMETHEUS_PORT:1234}
host: 0.0.0.0
port: 1234
sslEnabled: ${SW_TELEMETRY_PROMETHEUS_SSL_ENABLED:false}
sslKeyPath: ${SW_TELEMETRY_PROMETHEUS_SSL_KEY_PATH:""}
sslCertChainPath: ${SW_TELEMETRY_PROMETHEUS_SSL_CERT_CHAIN_PATH:""}
4.修改UI配置
yaml
serverPort: 8080
oapServices: http://192.168.1.99:12800
zipkinServices: http://192.168.1.99:9412
5.启动Docker-compose
shell
root@ubuntu2204test99:~/skywailking# docker-compose up -d
