前提:需要先安装好 docker 环境
1、创建容器网络
docker network create skywalking
2、安装 elasticsearch
docker run -d --name elasticsearch --net skywalking -p 9200:9200 -p 9300:9300 -v /etc/localtime:/etc/localtime -e "discovery.type=single-node" elasticsearch:6.5.1
这里创建了一个单节点的 es 容器做数据存储,如果是生产环境,建议另外部署 es 的容器集群,也可采用其他
的存储方式。
3、skywalking-oap
docker run --name skywalking-oap --restart always -d --net skywalking -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 -v /etc/localtime:/etc/localtime -p 11800:11800 -p 1234:1234 -p 12800:12800 apache/skywalking-oap-server:6.5.0
oap 服务是 skywalking 的后端服务,sw_storage 参数可以选择想要的数据存储方式。 选择镜像的时候要根据 es 服务的版本号进行选择,版本 6 和版本 7 对应的镜像不一样,比如 8.1.0-es6 和 8.1.0-es7。https://hub.docker.com/r/apache/skywalking-oap-server/tags
4、skywalking-ui
docker run --name skywalking-ui --net skywalking --restart always -d -p 8090:8080 -v /etc/localtime:/etc/localtime -e SW_OAP_ADDRESS=skywalking-oap:12800 apache/skywalking-ui:6.5.0
skywalking-ui 是 skywaling 的前端页面,注意版本号和 oap、agent 的版本号一致。
5、agent 端的启动命令
java -javaagent:/agent.jar -Dskywalking.agent.service_name=xxxx -Dskywalking.collector.backend_service=IP:11800 -jar -Xmx512m -Xms512m -Dspring.config.location=/config/application.yml /app.jar
参数值要对应的进行修改:
skywalking.agent.service_name :agent 端服务注册上去的名字
skywalking.collector.backend_service:service 端的 IP 和端口,要服务可达
6、事例 dockerfile
FROM ccr.ccs.tencentyun.com/llybase/java:8-cpplib
COPY app.jar /app.jar
COPY skywalking-agent.jar /agent.jar
COPY agent.config /config/agent.config
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
WORKDIR /app
注意 COPY skywalking-agent.jar /agent.jar 我在构建镜像的时候,把 agent 打包到根目录下的/agent.jar,所以在第五点启动服务的时候,用的是 java -javaagent:/agent.jar
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于