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]

Reply via email to