xvrl commented on code in PR #13059:
URL: https://github.com/apache/druid/pull/13059#discussion_r968946187
##########
distribution/docker/Dockerfile:
##########
@@ -29,27 +31,29 @@ RUN export DEBIAN_FRONTEND=noninteractive \
COPY . /src
WORKDIR /src
-RUN if [ "$BUILD_FROM_SOURCE" = "true" ]; then \
+RUN --mount=type=cache,target=/root/.m2 if [ "$BUILD_FROM_SOURCE" = "true" ];
then \
mvn -B -ff -q dependency:go-offline \
install \
-Pdist,bundle-contrib-exts \
-Pskip-static-checks,skip-tests \
-Dmaven.javadoc.skip=true \
; fi
-RUN VERSION=$(mvn -B -q
org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \
+RUN --mount=type=cache,target=/root/.m2 VERSION=$(mvn -B -q
org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \
-Dexpression=project.version -DforceStdout=true \
) \
&& tar -zxf ./distribution/target/apache-druid-${VERSION}-bin.tar.gz -C /opt \
&& mv /opt/apache-druid-${VERSION} /opt/druid
FROM amd64/busybox:1.30.0-glibc as busybox
-FROM gcr.io/distroless/java:$JDK_VERSION
+FROM gcr.io/distroless/java$JDK_VERSION-debian11
LABEL maintainer="Apache Druid Developers <[email protected]>"
COPY --from=busybox /bin/busybox /busybox/busybox
RUN ["/busybox/busybox", "--install", "/bin"]
+RUN wget
https://github.com/robxu9/bash-static/releases/download/5.1.016-1.2.3/bash-linux-x86_64
-O /bin/bash \
+ && chmod 755 /bin/bash
Review Comment:
> we still can't build the image on Mac M1
We can tackle building on arm and providing arm docker images separately. It
should be possible to cross-compile the console until the node.js issue is
resolved. That means building on M1 would be slower due to emulation, but I
think that's better than not building at all.
> Current Dockerfile uses amd64 busybox
it looks like you solved that problem by pointing to a multi-arch build of
busybox.
I think the only issue left to solve is whether we want to switch to
debian-slim, or if we want to add the logic to download the right arch binary
for bash-static. The latter one might be simpler for now and we can do that by
adding an if statement checking the value of `$TARGETARCH` (see
https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope)
to pick the right bash-static binary.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]