25 lines
630 B
Docker
25 lines
630 B
Docker
ARG RUST_IMAGE=rust:1-bookworm
|
|
FROM --platform=$BUILDPLATFORM ${RUST_IMAGE} AS builder
|
|
|
|
ARG RUST_TARGET=x86_64-unknown-linux-gnu
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
gcc-aarch64-linux-gnu \
|
|
libc6-dev-arm64-cross \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN rustup target add ${RUST_TARGET}
|
|
|
|
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
|
|
|
|
COPY Cargo.toml Cargo.lock ./
|
|
COPY src ./src
|
|
|
|
RUN cargo build --release --target ${RUST_TARGET} \
|
|
&& mkdir -p /out \
|
|
&& cp target/${RUST_TARGET}/release/cdxs /out/cdxs
|