OAP 9.2.0
docker-compose.yml
version: "3.9"
services:
skywalking-oap:
image: apache/skywalking-oap-server:9.2.0
container_name: skywalking-oap
environment:
- TZ=Asia/Shanghai
volumes:
- ./skywalking/ext-config:/skywalking/ext-config
ports:
- 11800:11800
- 12800:12800
- volumes:
./skywalking/ext-config
: 这里是该镜像提供的一个功能,挂载这个目录,同名配置文件会覆盖掉容器里面/skywalking/config
同名的配置文件
配置文件中的属性在 笔记中说过有好几种方式可以覆盖,这里由于还需要配置其他的,所以把 application.yml 文件从 docker 里面复制出来,后续只需要修改该配置文件即可
docker exec -it skywalking-oap /bin/bash
# 从 docker 容器中复制出来 application.yml 配置文件
docker cp skywalking-oap:/skywalking/config/application.yml ./
存储更换为 elasticsearch 的话,es 的安装可参考这个 docker 笔记,需要注意的一点是 es 如果是下面这样写到一个 docker-compose.yml 文件中的话,配置文件中写 es 容器的地址不需要添加 http 前缀,直接写 es:9200
version: "3.9"
services:
es:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.6
container_name: es
environment:
- TZ=Asia/Shanghai
- node.name=es01
- cluster.name=es-docker-cluster
- bootstrap.memory_lock=true
# 这里需要注意,设置下 ES 的占用内存,查询慢点没有问题,但是不限制的话,基本上很快就会因为内存不足而挂掉
- ES_JAVA_OPTS=-Xms2048m -Xmx2048m
volumes:
- ./elasticsearch/data:/usr/share/elasticsearch/data
- ./elasticsearch/custom_elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
ports:
- 9200:9200
- 9300:9300
skywalking-oap:
image: apache/skywalking-oap-server:9.2.0
container_name: skywalking-oap
environment:
- TZ=Asia/Shanghai
volumes:
- ./skywalking/ext-config:/skywalking/ext-config
ports:
- 11800:11800
- 12800:12800
skywalking-ui:
image: apache/skywalking-ui:9.2.0
container_name: skywalking-ui
environment:
- TZ=Asia/Shanghai
- SW_OAP_ADDRESS=http://skywalking-oap:12800
ports:
- 10800:8080
UI 9.2.0
docker-compose.yml
version: "3.9"
services:
skywalking-ui:
image: apache/skywalking-ui:9.2.0
container_name: skywalking-ui
environment:
- TZ=Asia/Shanghai
- SW_OAP_ADDRESS=http://skywalking-oap:12800
ports:
- 8080:8080
- environment
- SW_OAP_ADDRESS:指定 oap 后端地址,写在同一个 docker-compose.yml 的话,就这样写就行