This is an automated email from the ASF dual-hosted git repository. kezhenxu94 pushed a commit to branch dockerfile in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit 5e5aa64d75bc4515c23097f294716b044a512f0b Author: kezhenxu94 <[email protected]> AuthorDate: Wed Sep 8 17:41:14 2021 +0800 Docker --- Makefile | 6 +- .../apm/util/PropertyPlaceholderHelper.java | 11 +-- docker/oap/Dockerfile.oap | 108 ++++++++++++++++----- docker/oap/log4j2.xml | 10 -- 4 files changed, 93 insertions(+), 42 deletions(-) diff --git a/Makefile b/Makefile index 51f13ca..2d79471 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,9 @@ export SW_ROOT := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) export SW_OUT:=${SW_ROOT}/dist -SKIP_TEST?=false +CLI_CODE_VERSION ?= 0.7.0 + +SKIP_TEST ?= false DIST_NAME := apache-skywalking-apm-bin init: @@ -57,7 +59,7 @@ ifneq ($(SW_OAP_BASE_IMAGE),) BUILD_ARGS := $(BUILD_ARGS) --build-arg BASE_IMAGE=$(SW_OAP_BASE_IMAGE) endif -BUILD_ARGS := $(BUILD_ARGS) --build-arg DIST_NAME=$(DIST_NAME) +BUILD_ARGS := $(BUILD_ARGS) --build-arg DIST_NAME=$(DIST_NAME) --build-arg CLI_CODE_VERSION=$(CLI_CODE_VERSION) docker.oap: $(SW_OUT)/$(DIST_NAME).tar.gz docker.oap: $(SW_ROOT)/docker/oap/Dockerfile.oap diff --git a/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/PropertyPlaceholderHelper.java b/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/PropertyPlaceholderHelper.java index c12661c..50c4a8e 100644 --- a/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/PropertyPlaceholderHelper.java +++ b/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/PropertyPlaceholderHelper.java @@ -63,7 +63,7 @@ public enum PropertyPlaceholderHelper { throw new UnsupportedOperationException("'placeholderPrefix or placeholderSuffix' must not be null"); } - final Map<String, String> wellKnownSimplePrefixes = new HashMap<String, String>(4); + final Map<String, String> wellKnownSimplePrefixes = new HashMap<>(4); wellKnownSimplePrefixes.put("}", "{"); wellKnownSimplePrefixes.put("]", "["); @@ -90,12 +90,9 @@ public enum PropertyPlaceholderHelper { * @return the supplied value with placeholders replaced inline */ public String replacePlaceholders(String value, final Properties properties) { - return replacePlaceholders(value, new PlaceholderResolver() { - @Override - public String resolvePlaceholder(String placeholderName) { - return getConfigValue(placeholderName, properties); - } - }); + return replacePlaceholders(value, + placeholderName -> getConfigValue(placeholderName, properties) + ); } private String getConfigValue(String key, final Properties properties) { diff --git a/docker/oap/Dockerfile.oap b/docker/oap/Dockerfile.oap index dd44a66..016fe0a 100644 --- a/docker/oap/Dockerfile.oap +++ b/docker/oap/Dockerfile.oap @@ -16,29 +16,90 @@ ARG BASE_IMAGE='adoptopenjdk/openjdk11:alpine' -FROM golang:1.14 AS cli - -ARG COMMIT_HASH=9f267876493943716434fdaa30047a14c0b5b2d9 -ARG CLI_CODE=${COMMIT_HASH}.tar.gz -ARG CLI_CODE_URL=https://github.com/apache/skywalking-cli/archive/${CLI_CODE} - -ENV CGO_ENABLED=0 -ENV GO111MODULE=on - -WORKDIR /cli - -ADD ${CLI_CODE_URL} . -RUN tar -xf ${CLI_CODE} --strip 1 -RUN rm ${CLI_CODE} - -RUN mkdir -p /skywalking/bin/ -RUN make linux && mv bin/swctl-latest-linux-amd64 /skywalking/bin/swctl +FROM $BASE_IMAGE as cli + +WORKDIR /skywalking + +ENV SKYWALKING_CLI_VERSION=0.7.0 +ENV SKYWALKING_CLI_TGZ=skywalking-cli-$SKYWALKING_CLI_VERSION-bin.tgz +ENV SKYWALKING_CLI_ASC=${SKYWALKING_CLI_TGZ}.asc +ENV SKYWALKING_CLI_SHA512=${SKYWALKING_CLI_TGZ}.sha512 + +ENV SKYWALKING_CLI_TGZ_URLS \ + https://www.apache.org/dyn/closer.cgi?action=download&filename=skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_TGZ \ + # if the version is outdated, we might have to pull from the dist/archive :/ + https://www-us.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_TGZ \ + https://www.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_TGZ \ + https://archive.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_TGZ + +ENV SKYWALKING_CLI_ASC_URLS \ + https://www.apache.org/dyn/closer.cgi?action=download&filename=skywalking/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_ASC \ + # if the version is outdated, we might have to pull from the dist/archive :/ + https://www-us.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_ASC \ + https://www.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_ASC \ + https://archive.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_ASC + +ENV SKYWALKING_CLI_SHA512_URLS \ + https://www.apache.org/dyn/closer.cgi?action=download&filename=skywalking/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_SHA512 \ + # if the version is outdated, we might have to pull from the dist/archive :/ + https://www-us.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_SHA512 \ + https://www.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_SHA512 \ + https://archive.apache.org/dist/skywalking/cli/$SKYWALKING_CLI_VERSION/$SKYWALKING_CLI_SHA512 + + +RUN set -eux; \ + \ + apk add --no-cache --virtual .fetch-deps \ + gnupg \ + ca-certificates \ + openssl \ + ; \ + \ + wget --timeout=20 -O KEYS https://downloads.apache.org/skywalking/KEYS; \ + gpg --import KEYS; \ + \ + success=; \ + for url in $SKYWALKING_CLI_TGZ_URLS; do \ + if wget --timeout=20 -O ${SKYWALKING_CLI_TGZ} "$url"; then \ + success=1; \ + break; \ + fi; \ + done; \ + [ -n "$success" ]; \ + \ + success=; \ + for url in $SKYWALKING_CLI_SHA512_URLS; do \ + if wget --timeout=20 -O ${SKYWALKING_CLI_SHA512} "$url"; then \ + success=1; \ + break; \ + fi; \ + done; \ + [ -n "$success" ]; \ + \ + sha512sum -c ${SKYWALKING_CLI_SHA512}; \ + \ + success=; \ + for url in $SKYWALKING_CLI_ASC_URLS; do \ + if wget --timeout=20 -O ${SKYWALKING_CLI_ASC} "$url"; then \ + success=1; \ + break; \ + fi; \ + done; \ + [ -n "$success" ]; \ + \ + gpg --batch --verify ${SKYWALKING_CLI_ASC}; \ + tar -xvf ${SKYWALKING_CLI_TGZ}; \ + mkdir "${SKYWALKING_HOME}/bin/"; \ + mv skywalking-cli-${SKYWALKING_CLI_VERSION}-bin/bin/swctl-${SKYWALKING_CLI_VERSION}-linux-amd64 ${SKYWALKING_HOME}/bin/swctl; \ + chmod 755 ${SKYWALKING_HOME}/bin/*; \ + command -v gpgconf && gpgconf --kill all || :; \ + ls -la ${SKYWALKING_HOME}; FROM $BASE_IMAGE -ENV JAVA_OPTS=" -Xms256M " \ - SW_CLUSTER="standalone" \ - SW_STORAGE="h2" +WORKDIR /skywalking + +ENV JAVA_OPTS=" -Xms2G " ARG DIST_NAME @@ -48,16 +109,17 @@ RUN set -ex; \ tar -xzf "$DIST_NAME.tar.gz"; \ rm -rf "$DIST_NAME.tar.gz"; \ rm -rf "$DIST_NAME/config/log4j2.xml"; \ - rm -rf "$DIST_NAME/bin"; rm -rf "$DIST_NAME/webapp"; rm -rf "$DIST_NAME/agent"; \ + rm -rf "$DIST_NAME/bin"; \ + rm -rf "$DIST_NAME/webapp"; \ + rm -rf "$DIST_NAME/agent"; \ mkdir "$DIST_NAME/bin"; \ mv "$DIST_NAME" skywalking; -WORKDIR skywalking - COPY --from=cli /skywalking/bin/swctl ./bin COPY log4j2.xml config/ COPY docker-entrypoint.sh . + RUN mkdir ext-config; \ mkdir ext-libs; diff --git a/docker/oap/log4j2.xml b/docker/oap/log4j2.xml index 2758ba6..eab9c37 100644 --- a/docker/oap/log4j2.xml +++ b/docker/oap/log4j2.xml @@ -24,16 +24,6 @@ </Console> </Appenders> <Loggers> - <logger name="org.eclipse.jetty" level="INFO"/> - <logger name="org.apache.zookeeper" level="INFO"/> - <logger name="io.grpc.netty" level="INFO"/> - <logger name="org.apache.skywalking.oap.meter.analyzer" level="DEBUG"/> - <logger name="org.apache.skywalking.oap.server.receiver.istio.telemetry" level="DEBUG"/> - <logger name="org.apache.skywalking.oap.server.fetcher.prometheus" level="DEBUG"/> - <logger name="org.apache.skywalking.oap.server.receiver.envoy.als" level="DEBUG"/> - <logger name="org.apache.skywalking.oap.server.storage.plugin.elasticsearch" level="DEBUG"/> - <logger name="org.apache.skywalking.oap.server.core.storage.ttl" level="DEBUG"/> - <logger name="org.apache.skywalking.library.elasticsearch" level="DEBUG"/> <Root level="INFO"> <AppenderRef ref="Console"/> </Root>
