你好,游客 登录 注册 搜索
阅读新闻

基于 Docker Compose 实践

[日期:2019-07-11] 浏览次数:

  手机最快开奖结果!Skywalking是一个分布式链路追踪系统,在部署分布式系统时能以非常清晰和全面的方式为你展示各种各样的监控数据,且本身接入对代码毫无侵入性,加上docker的部署优势能让你分分钟将这个强大的 APM 集成并启动起来。

  监控代理负责运行在你WebApi容器中并向收集器(Skywalking-OAP)定时发送监控数据。

  本节中的F:pathtoyourproject的路径字符串都用来指代你的项目根目录,注意替换

  docker run这条命令的意思是以交互模式将当前目录挂载到docker中执行dotnet watch run,并在执行完成后(或按 Ctrl+C 退出时)移除该容器,一般我们开发中就都是通过这种命令将应用程序快速运行在容器中。

  --network),只有运行在同一网络内的容器才能利用容器名在容器内网互相通信,你可以用docker network ls看看有哪些容器网络,之前我们用docker-compose当前你的项目根目录名_defaultpart2_default,你需要将其改为你的网络名称。

  然后就能看到这个酷炫的页面了,不过此时你很有可能看不见数据,别急,我们先去页面刷两下,回来再将右下角的 UTC+8 改为 UTC+0,因为 ES 跟 OAP 的默认时区都是 UTC+0,这个我们后面再解决,现在刷新看是不是有数据了。

  纠正时区的原理非常简单,就是靠命令修改容器虚拟机的时区。这需要我们在 oap 跟 es 的 Dockerfile 中执行这两条命令:

  具体的修改方式可以参考这个commit以及这个repo,其实在有官方的容器化之前一直是这位大佬在维护的,大家要感谢他,本来当时我也是跟着这个 Repo 学习的,文章也写到一半了,结果发现官方容器化后又重新走了一遍 23333。