Apache SkyWalking Agent Containerized Scenarios

Docker images are not official ASF releases but provided for convenience. Recommended usage is always to build the source

This image only hosts the pre-built SkyWalking Java agent jars, and provides some convenient configurations for containerized scenarios.

How to use this image

Docker

FROM apache/skywalking-java-agent:8.5.0-jdk8

# ... build your java application

You can start your Java application with CMD or ENTRYPOINT, but you don’t need to care about the Java options to enable SkyWalking agent, it should be adopted automatically.

Kubernetes

Currently, SkyWalking provides two ways to install the java agent on your services on Kubernetes.

  1. To use the java agent more natively, you can try the java agent injector to inject the java agent image as a sidecar.

  2. If you think it’s hard to install the injector, you can also use this java agent image as a sidecar as below.

apiVersion: v1
kind: Pod
metadata:
  name: agent-as-sidecar
spec:
  restartPolicy: Never

  volumes:
    - name: skywalking-agent
      emptyDir: { }

  initContainers:
    - name: agent-container
      image: apache/skywalking-java-agent:8.7.0-alpine
      volumeMounts:
        - name: skywalking-agent
          mountPath: /agent
      command: [ "/bin/sh" ]
      args: [ "-c", "cp -R /skywalking/agent /agent/" ]

  containers:
    - name: app-container
      image: springio/gs-spring-boot-docker
      volumeMounts:
        - name: skywalking-agent
          mountPath: /skywalking
      env:
        - name: JAVA_TOOL_OPTIONS
          value: "-javaagent:/skywalking/agent/skywalking-agent.jar"