# 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. ARG BASE_IMAGE='adoptopenjdk/openjdk8: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 ENV JAVA_OPTS=" -Xms256M " \ SW_CLUSTER="standalone" \ SW_STORAGE="h2" ARG DIST_NAME COPY "$DIST_NAME.tar.gz" / 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"; \ 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; EXPOSE 12800 11800 1234 ENTRYPOINT ["sh", "docker-entrypoint.sh"]