mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2025-12-22 22:20:02 +00:00
41 lines
1.2 KiB
Docker
41 lines
1.2 KiB
Docker
FROM ubuntu:22.04 AS libs
|
|
|
|
ARG TARGETARCH
|
|
|
|
# Copy required library dependencies based on architecture
|
|
# TARGETARCH values: amd64, arm64
|
|
# Ubuntu library paths: x86_64-linux-gnu, aarch64-linux-gnu
|
|
RUN if [ "$TARGETARCH" = "amd64" ]; then \
|
|
mkdir -p /output/x86_64-linux-gnu && \
|
|
cp /lib/x86_64-linux-gnu/libz.so.1.2.11 /output/x86_64-linux-gnu/libz.so.1; \
|
|
elif [ "$TARGETARCH" = "arm64" ]; then \
|
|
mkdir -p /output/aarch64-linux-gnu && \
|
|
cp /lib/aarch64-linux-gnu/libz.so.1.2.11 /output/aarch64-linux-gnu/libz.so.1; \
|
|
else \
|
|
echo "Unsupported architecture: $TARGETARCH" && exit 1; \
|
|
fi
|
|
|
|
FROM gcr.io/distroless/cc-debian12:latest
|
|
|
|
# The root path under which contains all the dependencies to build this Dockerfile.
|
|
ARG DOCKER_BUILD_ROOT=.
|
|
# The binary name of GreptimeDB executable.
|
|
# Defaults to "greptime", but sometimes in other projects it might be different.
|
|
ARG TARGET_BIN=greptime
|
|
|
|
ARG TARGETARCH
|
|
|
|
# Copy required library dependencies
|
|
COPY --from=libs /output /lib
|
|
COPY --from=busybox:stable /bin/busybox /bin/busybox
|
|
|
|
ADD $TARGETARCH/$TARGET_BIN /greptime/bin/
|
|
|
|
ENV PATH=/greptime/bin/:$PATH
|
|
|
|
ENV TARGET_BIN=$TARGET_BIN
|
|
|
|
ENV MALLOC_CONF="prof:true,prof_active:false"
|
|
|
|
ENTRYPOINT ["greptime"]
|