skywalking docker-compose
这里选用es版本, apache/skywalking-oap-server:8.6.0-es7
由于skywalking更新迭代,甚至重构都很频繁, 各个版本差异比较大,
可能肯多问题都是版本不对的原因
version: '3.3'
services:
skywalking-es:
image: elasticsearch:7.6.2
container_name: skywalking-es
ports:
- 9200:9200
- 9300:9300
environment:
- discovery.type=single-node #单例模式
- bootstrap.memory_lock=true #锁定物理内存地址,防止es内存被交换出去,也就是避免es使用swap交换分区,频繁的交换,会导致IOPS变高
- "ES_JAVA_OPTS=-Xms1048m -Xmx1048m" #堆内存大小
- TZ=Asia/Shanghai
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./data:/usr/share/elasticsearch/data
skywalking-oap:
image: apache/skywalking-oap-server:8.6.0-es7
container_name: skywalking-oap
depends_on:
- skywalking-es
links:
- skywalking-es
ports:
- 11800:11800
- 12800:12800
environment:
TZ: Asia/Shanghai
SW_STORAGE: elasticsearch7
SW_STORAGE_ES_CLUSTER_NODES: skywalking-es:9200
skywalking-ui:
image: apache/skywalking-ui:8.6.0
container_name: skywalking-ui
depends_on:
- skywalking-oap
links:
- skywalking-oap
ports:
- 18080:8080
environment:
TZ: Asia/Shanghai
SW_OAP_ADDRESS: skywalking-oap:12800
启动后效果
本地访问 127.0.0.1:18080 (不是8080)
此时访问有可能出现页面空白, 大概率是因为oap启动的时候es还没好,(这里docker depends_on ,只能保证容器启动,并不能保证容器内应用是可用状态)