Files
cdxs/scripts/docker/Dockerfile.release
T

29 lines
864 B
Docker

ARG RUST_IMAGE=rust:1-bookworm
FROM --platform=$BUILDPLATFORM ${RUST_IMAGE} AS builder
ARG RUST_TARGET=x86_64-unknown-linux-gnu
ARG CARGO_REGISTRY=sparse+https://rsproxy.cn/index/
WORKDIR /app
RUN mkdir -p /usr/local/cargo \
&& printf '[source.crates-io]\nreplace-with = "mirror"\n\n[source.mirror]\nregistry = "%s"\n' "${CARGO_REGISTRY}" > /usr/local/cargo/config.toml
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