diff --git a/docker/Makefile b/docker/Makefile new file mode 100644 index 000000000..85ca996e3 --- /dev/null +++ b/docker/Makefile @@ -0,0 +1,7 @@ + +snapshot: + cd snapshot; \ + cp ../../dist/apache-skywalking-apm-incubating.tar.gz ./ ; \ + docker build -t skywalking/oap:latest . + +.PHONY: snapshot \ No newline at end of file diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 000000000..76cfa9589 --- /dev/null +++ b/docker/README.md @@ -0,0 +1,12 @@ + +# Build snapshot image + +```shell +make snapshot +``` + +# Run oap by docker-compose + +```shell +docker-compose -f stack.yml up +``` \ No newline at end of file diff --git a/docker/snapshot/Dockerfile b/docker/snapshot/Dockerfile new file mode 100644 index 000000000..47d661b42 --- /dev/null +++ b/docker/snapshot/Dockerfile @@ -0,0 +1,23 @@ +FROM openjdk:8-jre-alpine + +ENV DIST_NAME=apache-skywalking-apm-incubating \ + JAVA_OPTS=" -Xms256M -Xmx512M" + +# Install required packages +RUN apk add --no-cache \ + bash + +COPY "$DIST_NAME.tar.gz" / + +RUN set -ex; \ + tar -xzf "$DIST_NAME.tar.gz"; \ + rm -rf "$DIST_NAME.tar.gz"; rm -rf config/log4j2.xml; + +WORKDIR $DIST_NAME + +COPY log4j2.xml config/ +COPY docker-entrypoint.sh . + +EXPOSE 12800 11800 + +ENTRYPOINT ["./docker-entrypoint.sh"] \ No newline at end of file diff --git a/docker/snapshot/docker-entrypoint.sh b/docker/snapshot/docker-entrypoint.sh new file mode 100755 index 000000000..4f8225736 --- /dev/null +++ b/docker/snapshot/docker-entrypoint.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -e + +CLASSPATH="config:$CLASSPATH" +for i in oap-libs/*.jar +do + CLASSPATH="$i:$CLASSPATH" +done + +java ${JAVA_OPTS} -classpath $CLASSPATH \ + -Dstorage.elasticsearch.clusterNodes=elasticsearch:9200 \ + org.apache.skywalking.oap.server.starter.OAPServerStartUp diff --git a/docker/snapshot/log4j2.xml b/docker/snapshot/log4j2.xml new file mode 100644 index 000000000..eb69a897d --- /dev/null +++ b/docker/snapshot/log4j2.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docker/stack.yml b/docker/stack.yml new file mode 100644 index 000000000..0c0b9eac1 --- /dev/null +++ b/docker/stack.yml @@ -0,0 +1,22 @@ +version: '3.3' +services: + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2 + container_name: elasticsearch + restart: always + ports: + - 9200:9200 + - 9300:9300 + environment: + discovery.type: single-node + oap: + image: skywalking/oap + container_name: oap + depends_on: + - elasticsearch + links: + - elasticsearch + restart: always + ports: + - 11800:11800 + - 12800:12800 \ No newline at end of file