tree: 077a3c6fb3a4e83adb708e5d53a52ae09c5bd981 [path history] [tgz]
  1. data-generator/
  2. oap/
  3. ui/
  4. .env
  5. docker-compose.yml
  6. README.md
docker/README.md

Docker Images

This folder contains Dockerfiles that are used to build our OAP Docker images and UI Docker image. If you want to use the Docker images, please check the user guide for OAP and the user guide for UI.

Quickstart

You can use Makefile located at the root folder to build a docker image with the current codebase.

make docker
# OR skip the tests
make docker SKIP_TEST=true

It not only contains the process of building a docker image but also includes all the required steps, for instance, init workspace, build artifact from scratch. It builds two images, OAP, and UI.

docker image ls | grep skywalking
skywalking/ui                                   latest              a14db4e1d70d        6 minutes ago       800MB
skywalking/oap                                  latest              2a6084450b44        6 minutes ago       862MB

Building variables

There are some environment variables to control image building.

CONTEXT

The Docker build context path, under this path, there should be the distribution tar ball.

ls $CONTEXT
apache-skywalking-apm-bin.tar.gz

DIST

The distribution tar ball name, for example, apache-skywalking-apm-bin.tar.gz.

HUB

The hub of docker image. The default value is skywalking.

TAG

The tag of docker image. The default value is latest.

Running containers with docker-compose

We can start up backend cluster by docker-compose. There are two profiles with different storage options that you can choose, elasticsearch and banyandb.

To start up the backend cluster with elasticsearch as the storage, run the following command:

docker compose --profile elasticsearch up

To start up the backend cluster with banyandb as the storage, run the following command:

docker compose --profile banyandb up

docker/.env file contains some configurations that you can customize, such as the Docker image registry and tags.

After the services are up and running, you can send telemetry data to localhost:11800 and access the UI at http://localhost:8080.