Skip to content

Commit 10ad0d2

Browse files
committed
fix: use architecture-specific build stages
1 parent ae08ce0 commit 10ad0d2

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

scx_rustland/Dockerfile

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
ARG BUILDARCH
12
FROM rust:1.87-slim AS builder
23

34
ADD https://github.com/sched-ext/scx.git /scx
@@ -30,21 +31,22 @@ RUN rustup component add rustfmt
3031

3132
RUN cargo build --release -p scx_rustland
3233

33-
FROM gcr.io/distroless/cc
34+
FROM alpine AS libs-amd64
35+
COPY --from=builder /usr/lib/x86_64-linux-gnu/libelf.so.1 /usr/lib/libelf.so.1
36+
COPY --from=builder /usr/lib/x86_64-linux-gnu/libz.so.1 /usr/lib/libz.so.1
37+
COPY --from=builder /usr/lib/x86_64-linux-gnu/libseccomp.so.2 /usr/lib/libseccomp.so.2
3438

35-
ARG TARGETPLATFORM
39+
FROM alpine AS libs-arm64
40+
COPY --from=builder /usr/lib/aarch64-linux-gnu/libelf.so.1 /usr/lib/libelf.so.1
41+
COPY --from=builder /usr/lib/aarch64-linux-gnu/libz.so.1 /usr/lib/libz.so.1
42+
COPY --from=builder /usr/lib/aarch64-linux-gnu/libseccomp.so.2 /usr/lib/libseccomp.so.2
3643

37-
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \
38-
echo "Setting $COPY_LIBS_DIR to aarch64-linux-gnu" && \
39-
export COPY_LIBS_DIR="aarch64-linux-gnu"; \
40-
else \
41-
echo "Setting default COPY_LIBS_DIR x86_64-linux-gnu" && \
42-
export COPY_LIBS_DIR="x86_64-linux-gnu"; \
43-
fi
44+
FROM libs-${BUILDARCH} AS libs
4445

46+
FROM gcr.io/distroless/cc
4547
COPY --from=builder /scx/target/release/scx_rustland /scx_rustland
46-
COPY --from=builder /usr/lib/$COPY_LIBS_DIR/libelf.so.1 /usr/lib/libelf.so.1
47-
COPY --from=builder /usr/lib/$COPY_LIBS_DIR/libz.so.1 /usr/lib/libz.so.1
48-
COPY --from=builder /usr/lib/$COPY_LIBS_DIR/libseccomp.so.2 /usr/lib/libseccomp.so.2
48+
COPY --from=libs /usr/lib/libelf.so.1 /usr/lib/libelf.so.1
49+
COPY --from=libs /usr/lib/libz.so.1 /usr/lib/libz.so.1
50+
COPY --from=libs /usr/lib/libseccomp.so.2 /usr/lib/libseccomp.so.2
4951

5052
CMD ["/scx_rustland"]

0 commit comments

Comments
 (0)