虽然在部署中踩了几个坑,但是严格算起来,可能还不到 10 分钟,废话少说
step 1:从 GitHub 上面把源码 clone 下来
git@github.com:apache/incubator-skywalking.git
step 2:打开源码发现 docker 目录下有 docker-compose 文件,直接做到一键启动一键停止
docker-compose up
但是出了问题:执行 cat docker-compose.yml | grep image
可以看出需要这下面这三个镜像:
image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2
image: skywalking/oap
image: skywalking/ui
pull 第一个镜像是没有问题的,但是 pull 第二个镜像就出现了问题
Pulling oap (skywalking/oap:)...
ERROR: The image for the service you're trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.
Continue with the new image? [yN]y
Pulling oap (skywalking/oap:)...
ERROR: pull access denied for skywalking/oap, repository does not exist or may require 'docker login'
大家不用尝试登录,我试过,不行。既然是最快的启动 skywalking 当然还是需要使用 docker-compose,我尝试过进入 docker 下的 oap 文件夹,执行 Dockerfile 结果还是不尽人意,docker build .
它需要一个 COPY failed: stat /var/lib/docker/tmp/docker-builder518059256/apache-skywalking-apm-incubating-bin.tar.gz: no such file or directory
里面的 tar 包,需要下载,做到最快的启动就是解决剩余的两个镜像的问题,在 GitHub 上面找到:
docker pull apache/skywalking-ui
docker pull apache/skywalking-oap-server
pull 下来,修改名字,直接弥补剩余的两个镜像,ps:官方写着不推荐这种方式,推荐使用源码构建,但是咱们这里是最短时间部署最简单的 skywalking就不管那么多了.
修改镜像名称之后再次运行 docker-compose up
成功. 映射的是 8080 端口,访问 8080 可以看到登录页面,我就不截图了,id admin password admin 可以登录进去,只是一个简单的 ui,并没有数据.
ps:关于 docker-compose 一开始执行失败请参考 GitHub 上的一个 issue:https://github.com/apache/incubator-skywalking/issues/2293