You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2019/07/03 10:21:31 UTC
[skywalking-docker] branch master updated (e38e09c -> 2d4d402)
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-docker.git.
from e38e09c Update README.md (#3)
new 4afbf77 Update readme of 6.1.0
new d9b08ef Adding 6.2.0
new 2d4d402 Merge branch 'master' of https://github.com/apache/skywalking-docker
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
6/6.1/oap/README.md | 5 +-
6/6.1/ui/README.md | 2 +-
6/{6.1 => 6.2}/base/Dockerfile | 4 +-
6/{6.1 => 6.2}/compose/docker-compose.yml | 6 +-
6/{6.1 => 6.2}/oap/Dockerfile | 21 ++++--
6/{6.1 => 6.2}/oap/README.md | 19 +++--
6/{6.1 => 6.2}/oap/docker-entrypoint.sh | 116 +++++++++++++++++++++++++++---
6/{6.1 => 6.2}/oap/log4j2.xml | 0
6/{6.1 => 6.2}/ui/Dockerfile | 23 ++++--
6/6.2/ui/README.md | 38 ++++++++++
6/{6.1 => 6.2}/ui/docker-entrypoint.sh | 0
6/{6.1 => 6.2}/ui/logback.xml | 0
12 files changed, 199 insertions(+), 35 deletions(-)
copy 6/{6.1 => 6.2}/base/Dockerfile (94%)
copy 6/{6.1 => 6.2}/compose/docker-compose.yml (89%)
copy 6/{6.1 => 6.2}/oap/Dockerfile (80%)
copy 6/{6.1 => 6.2}/oap/README.md (72%)
copy 6/{6.1 => 6.2}/oap/docker-entrypoint.sh (67%)
copy 6/{6.1 => 6.2}/oap/log4j2.xml (100%)
copy 6/{6.1 => 6.2}/ui/Dockerfile (81%)
create mode 100644 6/6.2/ui/README.md
copy 6/{6.1 => 6.2}/ui/docker-entrypoint.sh (100%)
copy 6/{6.1 => 6.2}/ui/logback.xml (100%)
[skywalking-docker] 02/03: Adding 6.2.0
Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-docker.git
commit d9b08ef65a82c7ecb8d757e0132569c8116aaa64
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Wed Jul 3 18:18:11 2019 +0800
Adding 6.2.0
---
6/6.1/oap/README.md | 4 +-
6/6.1/ui/README.md | 35 ++++
6/6.2/base/Dockerfile | 97 +++++++++++
6/6.2/compose/docker-compose.yml | 59 +++++++
6/6.2/oap/Dockerfile | 43 +++++
6/{6.1 => 6.2}/oap/README.md | 19 ++-
6/6.2/oap/docker-entrypoint.sh | 346 +++++++++++++++++++++++++++++++++++++++
6/6.2/oap/log4j2.xml | 35 ++++
6/6.2/ui/Dockerfile | 45 +++++
6/6.2/ui/README.md | 35 ++++
6/6.2/ui/docker-entrypoint.sh | 26 +++
6/6.2/ui/logback.xml | 21 +++
12 files changed, 758 insertions(+), 7 deletions(-)
diff --git a/6/6.1/oap/README.md b/6/6.1/oap/README.md
index 83e71dc..1df96a0 100644
--- a/6/6.1/oap/README.md
+++ b/6/6.1/oap/README.md
@@ -32,9 +32,9 @@ Default value is `standalone`, avaliable values are:
- `consul`, If set this value, all enviroment variables of `cluster.consul` in `application.yml` are avaliable.
## SW_STORAGE
-Default value is `H2`, avaliable values are:
+Default value is `h2`, avaliable values are:
- - `H2`, If set this value, all enviroment variables of `storage.h2` in `application.yml` are avaliable.
+ - `h2`, If set this value, all enviroment variables of `storage.h2` in `application.yml` are avaliable.
- `elasticsearch`, If set this value, all enviroment variables of `stroage.elasticsearch` in `application.yml` are avaliable.
- `mysql`, If set this value, all enviroment variables of `stroage.mysql` in `application.yml` are avaliable.
diff --git a/6/6.1/ui/README.md b/6/6.1/ui/README.md
new file mode 100644
index 0000000..87a6aa1
--- /dev/null
+++ b/6/6.1/ui/README.md
@@ -0,0 +1,35 @@
+# Apache SkyWalking UI image
+
+**Docker images are not official ASF releases but provided for convenience. Recommended usage is always to build the source**
+
+<img src="http://skywalking.apache.org/assets/logo.svg" alt="Sky Walking logo" height="90px" align="right" />
+
+**SkyWalking**: an APM(application performance monitor) system, especially designed for
+microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.
+
+[](https://github.com/apache/incubator-skywalking)
+[](https://twitter.com/AsfSkyWalking)
+
+You could find docker file at [here](https://github.com/apache/incubator-skywalking-docker)
+
+This image would start up SkyWalking UI only.
+
+[SkyWalking K8s deployment scripts](https://github.com/apache/incubator-skywalking-kubernetes) use this image by default.
+
+# How to use this image
+
+## Start a container to connect oap server whose address is `oap:12800`
+
+```
+$ docker run --name oap --restart always -d -e SW_OAP_ADDRESS=oap:12800 apache/skywalking-ui:6.1.0
+```
+
+# Configuration
+
+We could set up environment variables to configure this image.
+
+## SW_OAP_ADDRESS
+The address of OAP server. Default value is `127.0.0.1:12800`.
+
+## SW_TIMEOUT
+Reading timeout. Default value is `20000`(millisecond).
\ No newline at end of file
diff --git a/6/6.2/base/Dockerfile b/6/6.2/base/Dockerfile
new file mode 100644
index 0000000..35aa9eb
--- /dev/null
+++ b/6/6.2/base/Dockerfile
@@ -0,0 +1,97 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM openjdk:8-jre-alpine AS build
+
+LABEL maintainer="hanahmily@apache.org"
+
+# Install required packages
+RUN apk add --no-cache \
+ bash \
+ python \
+ su-exec
+
+
+ENV SKYWALKING_HOME=/skywalking
+RUN mkdir -p "${SKYWALKING_HOME}"
+WORKDIR $SKYWALKING_HOME
+
+ENV GPG_KEYS A968F6905E0ACB59E5B24C15D3D9CD50820184C2 B0801BC746F965029A1338072EF5026E70A55777 D360AB2AB20B28403270E2CBE8608938DB25E06B
+ENV SKYWALKING_VERSION=6.2.0
+ENV SKYWALKING_SHA512 753cd9cfeca258cb31355be9c6f8d7e234a488b29b20d1f0e8b3c89c404bcf4fce49fa825c5cb674a42d56e8dc3947b9592b3c8d96c82df84b3926eb341481a6
+
+ENV SKYWALKING_TGZ_URLS \
+ https://www.apache.org/dyn/closer.cgi?action=download&filename=skywalking/$SKYWALKING_VERSION/apache-skywalking-apm-$SKYWALKING_VERSION.tar.gz \
+ # if the version is outdated, we might have to pull from the dist/archive :/
+ https://www-us.apache.org/dist/skywalking/$SKYWALKING_VERSION/apache-skywalking-apm-$SKYWALKING_VERSION.tar.gz \
+ https://www.apache.org/dist/skywalking/$SKYWALKING_VERSION/apache-skywalking-apm-$SKYWALKING_VERSION.tar.gz \
+ https://archive.apache.org/dist/skywalking/$SKYWALKING_VERSION/apache-skywalking-apm-$SKYWALKING_VERSION.tar.gz
+
+ENV SKYWALKING_ASC_URLS \
+ https://www.apache.org/dyn/closer.cgi?action=download&filename=skywalking/$SKYWALKING_VERSION/apache-skywalking-apm-$SKYWALKING_VERSION.tar.gz.asc \
+ # if the version is outdated, we might have to pull from the dist/archive :/
+ https://www-us.apache.org/dist/skywalking/$SKYWALKING_VERSION/apache-skywalking-apm-$SKYWALKING_VERSION.tar.gz.asc \
+ https://www.apache.org/dist/skywalking/$SKYWALKING_VERSION/apache-skywalking-apm-$SKYWALKING_VERSION.tar.gz.asc \
+ https://archive.apache.org/dist/skywalking/$SKYWALKING_VERSION/apache-skywalking-apm-$SKYWALKING_VERSION.tar.gz.asc
+
+RUN set -eux; \
+ \
+ apk add --no-cache --virtual .fetch-deps \
+ gnupg \
+ \
+ ca-certificates \
+ openssl \
+ ; \
+ \
+ export GNUPGHOME="$(mktemp -d)"; \
+ for key in $GPG_KEYS; do \
+ gpg --batch --keyserver pgp.surfnet.nl --recv-keys "$key"; \
+ done; \
+ \
+ success=; \
+ for url in $SKYWALKING_TGZ_URLS; do \
+ if wget -O skywalking.tar.gz "$url"; then \
+ success=1; \
+ break; \
+ fi; \
+ done; \
+ [ -n "$success" ]; \
+ \
+ echo "$SKYWALKING_SHA512 *skywalking.tar.gz" | sha512sum -c -; \
+ \
+ success=; \
+ for url in $SKYWALKING_ASC_URLS; do \
+ if wget -O skywalking.tar.gz.asc "$url"; then \
+ success=1; \
+ break; \
+ fi; \
+ done; \
+ [ -n "$success" ]; \
+ \
+ gpg --batch --verify skywalking.tar.gz.asc skywalking.tar.gz; \
+ tar -xvf skywalking.tar.gz --strip-components=1; \
+ rm -rf bin/; \
+ rm skywalking.tar.gz*; \
+ command -v gpgconf && gpgconf --kill all || :; \
+ rm -rf "$GNUPGHOME"; \
+ apk del .fetch-deps
+
+FROM openjdk:8-jre-alpine
+
+COPY --from=build /skywalking /skywalking
+
+RUN apk add --no-cache \
+ bash
\ No newline at end of file
diff --git a/6/6.2/compose/docker-compose.yml b/6/6.2/compose/docker-compose.yml
new file mode 100644
index 0000000..7c4964e
--- /dev/null
+++ b/6/6.2/compose/docker-compose.yml
@@ -0,0 +1,59 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+version: '3.3'
+services:
+ elasticsearch:
+ image: docker.elastic.co/elasticsearch/elasticsearch:6.8.1
+ container_name: elasticsearch
+ restart: always
+ ports:
+ - 9200:9200
+ - 9300:9300
+ environment:
+ - discovery.type=single-node
+ - bootstrap.memory_lock=true
+ - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
+ ulimits:
+ memlock:
+ soft: -1
+ hard: -1
+ oap:
+ image: apache/skywalking-oap-server:6.1.0
+ container_name: oap
+ depends_on:
+ - elasticsearch
+ links:
+ - elasticsearch
+ restart: always
+ ports:
+ - 11800:11800
+ - 12800:12800
+ environment:
+ SW_STORAGE: elasticsearch
+ SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
+ ui:
+ image: apache/skywalking-ui:6.1.0
+ container_name: ui
+ depends_on:
+ - oap
+ links:
+ - oap
+ restart: always
+ ports:
+ - 8080:8080
+ environment:
+ SW_OAP_ADDRESS: oap:12800
diff --git a/6/6.2/oap/Dockerfile b/6/6.2/oap/Dockerfile
new file mode 100644
index 0000000..f265acc
--- /dev/null
+++ b/6/6.2/oap/Dockerfile
@@ -0,0 +1,43 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM apache/skywalking-base:6.2.0 AS build
+
+WORKDIR skywalking
+
+RUN set -eux; \
+ rm -rf "config/log4j2.xml"; \
+ rm -rf "webapp"; rm -rf "agent";
+
+COPY log4j2.xml config/
+COPY docker-entrypoint.sh .
+
+FROM openjdk:8-jre-alpine
+
+ENV JAVA_OPTS=" -Xms256M "
+
+LABEL maintainer="hanahmily@apache.org"
+
+COPY --from=build /skywalking /skywalking
+
+WORKDIR skywalking
+
+RUN apk add --no-cache \
+ bash
+
+EXPOSE 12800 11800 1234
+
+ENTRYPOINT ["bash", "docker-entrypoint.sh"]
\ No newline at end of file
diff --git a/6/6.1/oap/README.md b/6/6.2/oap/README.md
similarity index 72%
copy from 6/6.1/oap/README.md
copy to 6/6.2/oap/README.md
index 83e71dc..d41402c 100644
--- a/6/6.1/oap/README.md
+++ b/6/6.2/oap/README.md
@@ -10,18 +10,18 @@ microservices, cloud native and container-based (Docker, Kubernetes, Mesos) arch
## Start a `standlone` container with `H2` storage
```
-$ docker run --name oap --restart always -d apache/skywalking-oap-server:6.1.0
+$ docker run --name oap --restart always -d apache/skywalking-oap-server:6.2.0
```
## Start a `standlone` container with `elasticsearch` storage whose address is `elasticsearch:9200`
```
-$ docker run --name oap --restart always -d -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 apache/skywalking-oap-server:6.1.0
+$ docker run --name oap --restart always -d -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 apache/skywalking-oap-server:6.2.0
```
# Configuration
-We could set up environment variables to configure this image. Most of them are defined in [backend-setup](https://github.com/apache/skywalking/blob/v6.1.0/docs/en/setup/backend/backend-setup.md), but Apache SkyWalking Docker Image adds extra environment variables to help the user to compose it properly. The details are located in [docker-entrypoint.sh](docker-entrypoint.sh)
+We could set up environment variables to configure this image. Most of them are defined in [backend-setup](https://github.com/apache/skywalking/blob/v6.2.0/docs/en/setup/backend/backend-setup.md), but Apache SkyWalking Docker Image adds extra environment variables to help the user to compose it properly. The details are located in [docker-entrypoint.sh](docker-entrypoint.sh)
## SW_CLUSTER
Default value is `standalone`, avaliable values are:
@@ -30,13 +30,22 @@ Default value is `standalone`, avaliable values are:
- `zookeeper`, If set this value, all enviroment variables of `cluster.zookeeper` in `application.yml` are avaliable.
- `kubernetes`, If set this value, all enviroment variables of `cluster.kubernetes` in `application.yml` are avaliable.
- `consul`, If set this value, all enviroment variables of `cluster.consul` in `application.yml` are avaliable.
+ - `etcd`, If set this value, all enviroment variables of `cluster.etcd` in `application.yml` are avaliable.
+ - `nacos`, If set this value, all enviroment variables of `cluster.nacos` in `application.yml` are avaliable.
## SW_STORAGE
-Default value is `H2`, avaliable values are:
+Default value is `h2`, avaliable values are:
- - `H2`, If set this value, all enviroment variables of `storage.h2` in `application.yml` are avaliable.
+ - `h2`, If set this value, all enviroment variables of `storage.h2` in `application.yml` are avaliable.
- `elasticsearch`, If set this value, all enviroment variables of `stroage.elasticsearch` in `application.yml` are avaliable.
- `mysql`, If set this value, all enviroment variables of `stroage.mysql` in `application.yml` are avaliable.
+
+ ## SW_CONFIGURATION
+Default value is `none`, avaliable values are:
+
+ - `apollo`, If set this value, all enviroment variables of `configuration.apollo` in `application.yml` are avaliable.
+ - `nacos`, If set this value, all enviroment variables of `configuration.nacos` in `application.yml` are avaliable.
+ - `zookeeper`, If set this value, all enviroment variables of `configuration.zookeeper` in `application.yml` are avaliable.
## XXX_ENABLED
diff --git a/6/6.2/oap/docker-entrypoint.sh b/6/6.2/oap/docker-entrypoint.sh
new file mode 100644
index 0000000..5897b00
--- /dev/null
+++ b/6/6.2/oap/docker-entrypoint.sh
@@ -0,0 +1,346 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#!/bin/bash
+
+set -e
+
+var_application_file="config/application.yml"
+
+generateClusterStandalone() {
+ echo "cluster:" >> ${var_application_file}
+ echo " standalone:" >> ${var_application_file}
+}
+
+generateClusterZookeeper() {
+ cat <<EOT >> ${var_application_file}
+cluster:
+ zookeeper:
+ nameSpace: \${SW_NAMESPACE:""}
+ hostPort: \${SW_CLUSTER_ZK_HOST_PORT:zookeeper:2181}
+ #Retry Policy
+ baseSleepTimeMs: \${SW_CLUSTER_ZK_SLEEP_TIME:1000} # initial amount of time to wait between retries
+ maxRetries: \${SW_CLUSTER_ZK_MAX_RETRIES:3} # max number of times to retry
+EOT
+}
+
+generateClusterK8s() {
+ cat <<EOT >> ${var_application_file}
+cluster:
+ kubernetes:
+ watchTimeoutSeconds: \${SW_CLUSTER_K8S_WATCH_TIMEOUT:60}
+ namespace: \${SW_CLUSTER_K8S_NAMESPACE:default}
+ labelSelector: \${SW_CLUSTER_K8S_LABEL:app=collector,release=skywalking}
+ uidEnvName: \${SW_CLUSTER_K8S_UID:SKYWALKING_COLLECTOR_UID}
+EOT
+}
+
+generateClusterConsul() {
+ cat <<EOT >> ${var_application_file}
+cluster:
+ consul:
+ serviceName: \${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
+ # Consul cluster nodes, example: 10.0.0.1:8500,10.0.0.2:8500,10.0.0.3:8500
+ hostPort: \${SW_CLUSTER_CONSUL_HOST_PORT:consul:8500}
+EOT
+}
+
+generateClusterEtcd() {
+ cat <<EOT >> ${var_application_file}
+cluster:
+ etcd:
+ serviceName: \${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
+ # Etcd cluster nodes, example: 10.0.0.1:2379,10.0.0.2:2379,10.0.0.3:2379
+ hostPort: \${SW_CLUSTER_ETCD_HOST_PORT:etcd:2379}
+EOT
+}
+
+generateClusterNacos() {
+ cat <<EOT >> ${var_application_file}
+cluster:
+ nacos:
+ serviceName: \${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
+ hostPort: \${SW_CLUSTER_NACOS_HOST_PORT:nacos:8848}
+EOT
+}
+
+generateStorageElastisearch() {
+ cat <<EOT >> ${var_application_file}
+storage:
+ elasticsearch:
+ nameSpace: \${SW_NAMESPACE:""}
+ clusterNodes: \${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
+ user: \${SW_ES_USER:""}
+ password: \${SW_ES_PASSWORD:""}
+ indexShardsNumber: \${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
+ indexReplicasNumber: \${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
+ # Those data TTL settings will override the same settings in core module.
+ recordDataTTL: \${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
+ otherMetricsDataTTL: \${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day
+ monthMetricsDataTTL: \${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month
+ # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
+ bulkActions: \${SW_STORAGE_ES_BULK_ACTIONS:2000} # Execute the bulk every 2000 requests
+ bulkSize: \${SW_STORAGE_ES_BULK_SIZE:20} # flush the bulk every 20mb
+ flushInterval: \${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests
+ concurrentRequests: \${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests
+ metadataQueryMaxSize: \${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
+ segmentQueryMaxSize: \${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}
+EOT
+}
+
+generateStorageH2() {
+ cat <<EOT >> ${var_application_file}
+storage:
+ h2:
+ driver: \${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
+ url: \${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
+ user: \${SW_STORAGE_H2_USER:sa}
+ metadataQueryMaxSize: \${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}
+EOT
+}
+
+generateStorageMySQL() {
+ cat <<EOT >> ${var_application_file}
+storage:
+ mysql:
+ metadataQueryMaxSize: \${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}
+EOT
+}
+
+generateConfigurationNone() {
+ cat <<EOT >> ${var_application_file}
+configuration:
+ none:
+EOT
+}
+
+generateConfigurationApollo() {
+ cat <<EOT >> ${var_application_file}
+configuration:
+ apollo:
+ apolloMeta: \${SW_CONFIGURATION_APOLLO_META:http://apollo:8080}
+ apolloCluster: \${SW_CONFIGURATION_APOLLO_CLUSTER:default}
+ apolloEnv: \${SW_CONFIGURATION_APOLLO_ENV:""}
+ appId: \${SW_CONFIGURATION_APOLLO_APP_ID:skywalking}
+ period: \${SW_CONFIGURATION_APOLLO_PERIOD:5}
+EOT
+}
+
+generateConfigurationNacos() {
+ cat <<EOT >> ${var_application_file}
+configuration:
+ nacos:
+ # Nacos Server Host
+ serverAddr: \${SW_CONFIGURATION_NACO_SERVER_ADDR:naco}
+ # Nacos Server Port
+ port: \${SW_CONFIGURATION_NACO_PORT:8848}
+ # Nacos Configuration Group
+ group: \${SW_CONFIGURATION_NACO_GROUP:skywalking}
+ # Unit seconds, sync period. Default fetch every 60 seconds.
+ period : \${SW_CONFIGURATION_NACO_PERIOD:5}
+ # the name of current cluster, set the name if you want to upstream system known.
+ clusterName: \${SW_CONFIGURATION_NACO_CLUSTER_NAME:default}
+EOT
+}
+
+generateConfigurationZookeeper() {
+ cat <<EOT >> ${var_application_file}
+configuration:
+ zookeeper:
+ period: \${SW_CONFIGURATION_ZOOKEEPER_PERIOD:60} # Unit seconds, sync period. Default fetch every 60 seconds.
+ nameSpace: \${SW_CONFIGURATION_ZOOKEEPER_NAMESPACE:/default}
+ hostPort: \${SW_CONFIGURATION_ZOOKEEPER_HOST_PATH:localhost:2181}
+ #Retry Policy
+ baseSleepTimeMs: \${SW_CONFIGURATION_ZOOKEEPER_BASE_SLEEP_TIME_MS:1000} # initial amount of time to wait between retries
+ maxRetries: \${SW_CONFIGURATION_ZOOKEEPER_MAX_RETRIES:3}3 # max number of times to retry
+EOT
+}
+
+validateVariables() {
+ name=$1; value=$2; list=$3
+ valid=false
+ for c in ${list} ; do
+ if [[ "$c" = "$value" ]]; then
+ valid=true
+ fi
+ done
+
+ if ! ${valid}; then
+ echo "Error: $name=$value please specify $name = $list"
+ exit 1
+ fi
+}
+
+generateApplicationYaml() {
+ # validate
+ [[ -z "$SW_CLUSTER" ]] && [[ -z "$SW_STORAGE" ]] && [[ -z "$SW_CONFIGURATION" ]] \
+ && { echo "Error: please specify \"SW_CLUSTER\" \"SW_STORAGE\" \"SW_CONFIGURATION\""; exit 1; }
+
+ validateVariables "SW_CLUSTER" "$SW_CLUSTER" "standalone zookeeper kubernetes consul etcd nacos"
+
+ validateVariables "SW_STORAGE" "$SW_STORAGE" "elasticsearch h2 mysql"
+
+ validateVariables "SW_CONFIGURATION" "$SW_CONFIGURATION" "none apollo nacos zookeeper"
+
+ echo "# Generated by 'docker-entrypoint.sh'" > ${var_application_file}
+ #generate cluster
+ case ${SW_CLUSTER} in
+ standalone) generateClusterStandalone;;
+ zookeeper) generateClusterZookeeper;;
+ kubernetes) generateClusterK8s;;
+ consul) generateClusterConsul;;
+ etcd) generateClusterEtcd;;
+ nacos) generateClusterNacos;;
+ esac
+
+ #generate core
+ cat <<EOT >> ${var_application_file}
+core:
+ default:
+ # Mixed: Receive agent data, Level 1 aggregate, Level 2 aggregate
+ # Receiver: Receive agent data, Level 1 aggregate
+ # Aggregator: Level 2 aggregate
+ role: \${SW_CORE_ROLE:Mixed} # Mixed/Receiver/Aggregator
+ restHost: \${SW_CORE_REST_HOST:0.0.0.0}
+ restPort: \${SW_CORE_REST_PORT:12800}
+ restContextPath: \${SW_CORE_REST_CONTEXT_PATH:/}
+ gRPCHost: \${SW_CORE_GRPC_HOST:0.0.0.0}
+ gRPCPort: \${SW_CORE_GRPC_PORT:11800}
+ downsampling:
+ - Hour
+ - Day
+ - Month
+ # Set a timeout on metrics data. After the timeout has expired, the metrics data will automatically be deleted.
+ enableDataKeeperExecutor: \${SW_CORE_ENABLE_DATA_KEEPER_EXECUTOR:true} # Turn it off then automatically metrics data delete will be close.
+ recordDataTTL: \${SW_CORE_RECORD_DATA_TTL:90} # Unit is minute
+ minuteMetricsDataTTL: \${SW_CORE_MINUTE_METRIC_DATA_TTL:90} # Unit is minute
+ hourMetricsDataTTL: \${SW_CORE_HOUR_METRIC_DATA_TTL:36} # Unit is hour
+ dayMetricsDataTTL: \${SW_CORE_DAY_METRIC_DATA_TTL:45} # Unit is day
+ monthMetricsDataTTL: \${SW_CORE_MONTH_METRIC_DATA_TTL:18} # Unit is month
+EOT
+
+ # generate storage
+ case ${SW_STORAGE} in
+ elasticsearch) generateStorageElastisearch;;
+ h2) generateStorageH2;;
+ mysql) generateStorageMySQL;;
+ esac
+
+ cat <<EOT >> ${var_application_file}
+receiver-sharing-server:
+ default:
+receiver-register:
+ default:
+receiver-trace:
+ default:
+ bufferPath: \${SW_RECEIVER_BUFFER_PATH:../trace-buffer/} # Path to trace buffer files, suggest to use absolute path
+ bufferOffsetMaxFileSize: \${SW_RECEIVER_BUFFER_OFFSET_MAX_FILE_SIZE:100} # Unit is MB
+ bufferDataMaxFileSize: \${SW_RECEIVER_BUFFER_DATA_MAX_FILE_SIZE:500} # Unit is MB
+ bufferFileCleanWhenRestart: \${SW_RECEIVER_BUFFER_FILE_CLEAN_WHEN_RESTART:false}
+ sampleRate: \${SW_TRACE_SAMPLE_RATE:10000} # The sample rate precision is 1/10000. 10000 means 100% sample in default.
+ slowDBAccessThreshold: \${SW_SLOW_DB_THRESHOLD:default:200,mongodb:100} # The slow database access thresholds. Unit ms.
+receiver-jvm:
+ default:
+receiver-clr:
+ default:
+service-mesh:
+ default:
+ bufferPath: \${SW_SERVICE_MESH_BUFFER_PATH:../mesh-buffer/} # Path to trace buffer files, suggest to use absolute path
+ bufferOffsetMaxFileSize: \${SW_SERVICE_MESH_OFFSET_MAX_FILE_SIZE:100} # Unit is MB
+ bufferDataMaxFileSize: \${SW_SERVICE_MESH_BUFFER_DATA_MAX_FILE_SIZE:500} # Unit is MB
+ bufferFileCleanWhenRestart: \${SW_SERVICE_MESH_BUFFER_FILE_CLEAN_WHEN_RESTART:false}
+istio-telemetry:
+ default:
+query:
+ graphql:
+ path: \${SW_QUERY_GRAPHQL_PATH:/graphql}
+alarm:
+ default:
+telemetry:
+ prometheus:
+ host: \${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
+ port: \${SW_TELEMETRY_PROMETHEUS_PORT:1234}
+EOT
+ # generate configuration
+ case ${SW_CONFIGURATION} in
+ none) generateConfigurationNone;;
+ apollo) generateConfigurationApollo;;
+ nacos) generateConfigurationNacos;;
+ zookeeper) generateConfigurationZookeeper;;
+ esac
+
+ cat <<EOT >> ${var_application_file}
+envoy-metric:
+ default:
+EOT
+ if [[ "$SW_ENVOY_ALS_ENABLED" = "true" ]]; then
+ cat <<EOT >> ${var_application_file}
+ alsHTTPAnalysis: \${SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS:k8s-mesh}
+EOT
+ fi
+
+ if [[ "$SW_RECEIVER_ZIPKIN_ENABLED" = "true" ]]; then
+ cat <<EOT >> ${var_application_file}
+receiver_zipkin:
+ default:
+ host: \${SW_RECEIVER_ZIPKIN_HOST:0.0.0.0}
+ port: \${SW_RECEIVER_ZIPKIN_PORT:9411}
+ contextPath: \${SW_RECEIVER_ZIPKIN_CONTEXT_PATH:/}
+EOT
+ fi
+
+ if [[ "$SW_RECEIVER_JAEGER_ENABLED" = "true" ]]; then
+ cat <<EOT >> ${var_application_file}
+receiver_jaeger:
+ default:
+ gRPCHost: \${SW_RECEIVER_JAEGER_HOST:0.0.0.0}
+ gRPCPort: \${SW_RECEIVER_JAEGER_PORT:14250}
+EOT
+ fi
+
+ if [[ "$SW_EXPORTER_ENABLED" = "true" ]]; then
+ cat <<EOT >> ${var_application_file}
+exporter:
+ grpc:
+ targetHost: \${SW_EXPORTER_GRPC_HOST:127.0.0.1}
+ targetPort: \${SW_EXPORTER_GRPC_PORT:9870}
+EOT
+ fi
+}
+
+echo "[Entrypoint] Apache SkyWalking Docker Image"
+
+SW_CLUSTER=${SW_CLUSTER:-standalone}
+SW_STORAGE=${SW_STORAGE:-h2}
+SW_CONFIGURATION=${SW_CONFIGURATION:-none}
+
+if [[ -z "$SW_L0AD_CONFIG_FILE_FROM_VOLUME" ]] || [[ "$SW_L0AD_CONFIG_FILE_FROM_VOLUME" != "true" ]]; then
+ generateApplicationYaml
+ echo "Generated application.yml"
+ echo "-------------------------"
+ cat ${var_application_file}
+ echo "-------------------------"
+fi
+
+CLASSPATH="config:$CLASSPATH"
+for i in oap-libs/*.jar
+do
+ CLASSPATH="$i:$CLASSPATH"
+done
+
+set -ex
+exec java -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap \
+ ${JAVA_OPTS} -classpath ${CLASSPATH} org.apache.skywalking.oap.server.starter.OAPServerStartUp "$@"
diff --git a/6/6.2/oap/log4j2.xml b/6/6.2/oap/log4j2.xml
new file mode 100644
index 0000000..b1f1818
--- /dev/null
+++ b/6/6.2/oap/log4j2.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+<Configuration status="INFO">
+ <Appenders>
+ <Console name="Console" target="SYSTEM_OUT">
+ <PatternLayout charset="UTF-8" pattern="%d - %c -%-4r [%t] %-5p %x - %m%n"/>
+ </Console>
+ </Appenders>
+ <Loggers>
+ <logger name="org.eclipse.jetty" level="INFO"/>
+ <logger name="org.apache.zookeeper" level="INFO"/>
+ <logger name="org.elasticsearch.common.network.IfConfig" level="INFO"/>
+ <logger name="io.grpc.netty" level="INFO"/>
+ <Root level="INFO">
+ <AppenderRef ref="Console"/>
+ </Root>
+ </Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/6/6.2/ui/Dockerfile b/6/6.2/ui/Dockerfile
new file mode 100644
index 0000000..aab7cb1
--- /dev/null
+++ b/6/6.2/ui/Dockerfile
@@ -0,0 +1,45 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM apache/skywalking-base:6.2.0 AS build
+
+WORKDIR skywalking
+
+RUN set -eux; \
+ rm -rf "config"; rm -rf "oap-libs"; \
+ rm -rf "agent";
+
+COPY docker-entrypoint.sh .
+COPY logback.xml webapp/
+
+FROM openjdk:8-jre-alpine
+
+ENV JAVA_OPTS=" -Xms256M " \
+ SW_OAP_ADDRESS="oap:12800" \
+ SW_TIMEOUT="20000"
+
+LABEL maintainer="hanahmily@apache.org"
+
+COPY --from=build /skywalking /skywalking
+
+WORKDIR skywalking
+
+RUN apk add --no-cache \
+ bash
+
+EXPOSE 8080
+
+ENTRYPOINT ["bash", "docker-entrypoint.sh"]
\ No newline at end of file
diff --git a/6/6.2/ui/README.md b/6/6.2/ui/README.md
new file mode 100644
index 0000000..c11377f
--- /dev/null
+++ b/6/6.2/ui/README.md
@@ -0,0 +1,35 @@
+# Apache SkyWalking UI image
+
+**Docker images are not official ASF releases but provided for convenience. Recommended usage is always to build the source**
+
+<img src="http://skywalking.apache.org/assets/logo.svg" alt="Sky Walking logo" height="90px" align="right" />
+
+**SkyWalking**: an APM(application performance monitor) system, especially designed for
+microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.
+
+[](https://github.com/apache/incubator-skywalking)
+[](https://twitter.com/AsfSkyWalking)
+
+You could find docker file at [here](https://github.com/apache/incubator-skywalking-docker)
+
+This image would start up SkyWalking UI only.
+
+[SkyWalking K8s deployment scripts](https://github.com/apache/incubator-skywalking-kubernetes) use this image by default.
+
+# How to use this image
+
+## Start a container to connect oap server whose address is `oap:12800`
+
+```
+$ docker run --name oap --restart always -d -e SW_OAP_ADDRESS=oap:12800 apache/skywalking-ui:6.2.0
+```
+
+# Configuration
+
+We could set up environment variables to configure this image.
+
+## SW_OAP_ADDRESS
+The address of OAP server. Default value is `127.0.0.1:12800`.
+
+## SW_TIMEOUT
+Reading timeout. Default value is `20000`(millisecond).
\ No newline at end of file
diff --git a/6/6.2/ui/docker-entrypoint.sh b/6/6.2/ui/docker-entrypoint.sh
new file mode 100644
index 0000000..6771e22
--- /dev/null
+++ b/6/6.2/ui/docker-entrypoint.sh
@@ -0,0 +1,26 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#!/bin/bash
+
+set -e
+
+export LOGGING_CONFIG="webapp/logback.xml"
+
+[[ ! -z "$SW_OAP_ADDRESS" ]] && export COLLECTOR_RIBBON_LISTOFSERVERS=${SW_OAP_ADDRESS} && echo "COLLECTOR_RIBBON_LISTOFSERVERS=$COLLECTOR_RIBBON_LISTOFSERVERS"
+[[ ! -z "$SW_TIMEOUT" ]] && export COLLECTOR_RIBBON_READTIMEOUT=${SW_TIMEOUT} && echo "COLLECTOR_RIBBON_READTIMEOUT=$COLLECTOR_RIBBON_READTIMEOUT"
+
+exec java -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -jar webapp/skywalking-webapp.jar "$@"
diff --git a/6/6.2/ui/logback.xml b/6/6.2/ui/logback.xml
new file mode 100644
index 0000000..834036d
--- /dev/null
+++ b/6/6.2/ui/logback.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+<configuration>
+ <include resource="org/springframework/boot/logging/logback/base.xml" />
+</configuration>
\ No newline at end of file
[skywalking-docker] 03/03: Merge branch 'master' of
https://github.com/apache/skywalking-docker
Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-docker.git
commit 2d4d40227ff86b12f26d7642641283eb5b4ca796
Merge: d9b08ef e38e09c
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Wed Jul 3 18:21:14 2019 +0800
Merge branch 'master' of https://github.com/apache/skywalking-docker
6/6.1/oap/README.md | 1 +
6/6.1/ui/README.md | 21 +++++++--------------
6/6.2/ui/README.md | 7 +++++--
README.md | 7 ++++++-
4 files changed, 19 insertions(+), 17 deletions(-)
diff --cc 6/6.1/oap/README.md
index 1df96a0,83e71dc..d819117
--- a/6/6.1/oap/README.md
+++ b/6/6.1/oap/README.md
@@@ -32,9 -32,9 +32,10 @@@ Default value is `standalone`, avaliabl
- `consul`, If set this value, all enviroment variables of `cluster.consul` in `application.yml` are avaliable.
## SW_STORAGE
-Default value is `H2`, avaliable values are:
++<<<<<<< HEAD
+Default value is `h2`, avaliable values are:
- - `H2`, If set this value, all enviroment variables of `storage.h2` in `application.yml` are avaliable.
+ - `h2`, If set this value, all enviroment variables of `storage.h2` in `application.yml` are avaliable.
- `elasticsearch`, If set this value, all enviroment variables of `stroage.elasticsearch` in `application.yml` are avaliable.
- `mysql`, If set this value, all enviroment variables of `stroage.mysql` in `application.yml` are avaliable.
diff --cc 6/6.1/ui/README.md
index 87a6aa1,f8caf51..16ad929
--- a/6/6.1/ui/README.md
+++ b/6/6.1/ui/README.md
@@@ -32,4 -21,8 +21,8 @@@ We could set up environment variables t
The address of OAP server. Default value is `127.0.0.1:12800`.
## SW_TIMEOUT
- Reading timeout. Default value is `20000`(millisecond).
++
+ Reading timeout. Default value is `20000`(millisecond).
+
+ # License
+ [Apache 2.0 License.](/LICENSE)
-
diff --cc 6/6.2/ui/README.md
index c11377f,0000000..1941256
mode 100644,000000..100644
--- a/6/6.2/ui/README.md
+++ b/6/6.2/ui/README.md
@@@ -1,35 -1,0 +1,38 @@@
- # Apache SkyWalking UI image
++# Apache SkyWalking UI docker file
+
+**Docker images are not official ASF releases but provided for convenience. Recommended usage is always to build the source**
+
+<img src="http://skywalking.apache.org/assets/logo.svg" alt="Sky Walking logo" height="90px" align="right" />
+
+**SkyWalking**: an APM(application performance monitor) system, especially designed for
+microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.
+
+[](https://github.com/apache/incubator-skywalking)
+[](https://twitter.com/AsfSkyWalking)
+
+You could find docker file at [here](https://github.com/apache/incubator-skywalking-docker)
+
+This image would start up SkyWalking UI only.
+
+[SkyWalking K8s deployment scripts](https://github.com/apache/incubator-skywalking-kubernetes) use this image by default.
+
+# How to use this image
+
+## Start a container to connect oap server whose address is `oap:12800`
+
+```
+$ docker run --name oap --restart always -d -e SW_OAP_ADDRESS=oap:12800 apache/skywalking-ui:6.2.0
+```
+
+# Configuration
+
+We could set up environment variables to configure this image.
+
+## SW_OAP_ADDRESS
+The address of OAP server. Default value is `127.0.0.1:12800`.
+
+## SW_TIMEOUT
- Reading timeout. Default value is `20000`(millisecond).
++Reading timeout. Default value is `20000`(millisecond).
++
++# License
++[Apache 2.0 License.](/LICENSE)
[skywalking-docker] 01/03: Update readme of 6.1.0
Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-docker.git
commit 4afbf77b31bd245cdb8638a95d020c004807fb62
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Wed Jul 3 16:40:26 2019 +0800
Update readme of 6.1.0
---
6/6.1/oap/README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/6/6.1/oap/README.md b/6/6.1/oap/README.md
new file mode 100644
index 0000000..83e71dc
--- /dev/null
+++ b/6/6.1/oap/README.md
@@ -0,0 +1,50 @@
+# Apache SkyWalking OAP Server Docker Files
+
+<img src="http://skywalking.apache.org/assets/logo.svg" alt="Sky Walking logo" height="90px" align="right" />
+
+**SkyWalking**: an APM(application performance monitor) system, especially designed for
+microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.
+
+# How to use this image
+
+## Start a `standlone` container with `H2` storage
+
+```
+$ docker run --name oap --restart always -d apache/skywalking-oap-server:6.1.0
+```
+
+## Start a `standlone` container with `elasticsearch` storage whose address is `elasticsearch:9200`
+
+```
+$ docker run --name oap --restart always -d -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 apache/skywalking-oap-server:6.1.0
+```
+
+# Configuration
+
+We could set up environment variables to configure this image. Most of them are defined in [backend-setup](https://github.com/apache/skywalking/blob/v6.1.0/docs/en/setup/backend/backend-setup.md), but Apache SkyWalking Docker Image adds extra environment variables to help the user to compose it properly. The details are located in [docker-entrypoint.sh](docker-entrypoint.sh)
+
+## SW_CLUSTER
+Default value is `standalone`, avaliable values are:
+
+ - `standlone`, If set this value, all enviroment variables of `cluster.standlone` in `application.yml` are avaliable.
+ - `zookeeper`, If set this value, all enviroment variables of `cluster.zookeeper` in `application.yml` are avaliable.
+ - `kubernetes`, If set this value, all enviroment variables of `cluster.kubernetes` in `application.yml` are avaliable.
+ - `consul`, If set this value, all enviroment variables of `cluster.consul` in `application.yml` are avaliable.
+
+## SW_STORAGE
+Default value is `H2`, avaliable values are:
+
+ - `H2`, If set this value, all enviroment variables of `storage.h2` in `application.yml` are avaliable.
+ - `elasticsearch`, If set this value, all enviroment variables of `stroage.elasticsearch` in `application.yml` are avaliable.
+ - `mysql`, If set this value, all enviroment variables of `stroage.mysql` in `application.yml` are avaliable.
+
+## XXX_ENABLED
+
+There are also some other configuration switchers to extend default configuration, they also have a suffix `_ENABLED`.
+
+ - `SW_RECEIVER_ZIPKIN_ENABLED` turns on/off zipkin receiver
+ - `SW_RECEIVER_JAEGER_ENABLED` turns on/off jaeger receiver
+ - `SW_EXPORTER_ENABLED` turns on/off exporter
+
+# License
+[Apache 2.0 License.](/LICENSE)