OAP 9.2.0
docker-compose.yml
version: "3.9"services:skywalking-oap:image: apache/skywalking-oap-server:9.2.0container_name: skywalking-oapenvironment:- TZ=Asia/Shanghaivolumes:- ./skywalking/ext-config:/skywalking/ext-configports:- 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.6container_name: esenvironment:- TZ=Asia/Shanghai- node.name=es01- cluster.name=es-docker-cluster- bootstrap.memory_lock=true# 这里需要注意,设置下 ES 的占用内存,查询慢点没有问题,但是不限制的话,基本上很快就会因为内存不足而挂掉- ES_JAVA_OPTS=-Xms2048m -Xmx2048mvolumes:- ./elasticsearch/data:/usr/share/elasticsearch/data- ./elasticsearch/custom_elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.ymlports:- 9200:9200- 9300:9300skywalking-oap:image: apache/skywalking-oap-server:9.2.0container_name: skywalking-oapenvironment:- TZ=Asia/Shanghaivolumes:- ./skywalking/ext-config:/skywalking/ext-configports:- 11800:11800- 12800:12800skywalking-ui:image: apache/skywalking-ui:9.2.0container_name: skywalking-uienvironment:- TZ=Asia/Shanghai- SW_OAP_ADDRESS=http://skywalking-oap:12800ports:- 10800:8080
UI 9.2.0
docker-compose.yml
version: "3.9"services:skywalking-ui:image: apache/skywalking-ui:9.2.0container_name: skywalking-uienvironment:- TZ=Asia/Shanghai- SW_OAP_ADDRESS=http://skywalking-oap:12800ports:- 8080:8080
- environment
- SW_OAP_ADDRESS:指定 oap 后端地址,写在同一个 docker-compose.yml 的话,就这样写就行
