30 lines
541 B
Plaintext
30 lines
541 B
Plaintext
|
FROM docker.io/rust:1-alpine3.18 AS builder
|
||
|
|
||
|
ARG ARCH=x86_64
|
||
|
|
||
|
RUN apk --no-cache add musl-dev
|
||
|
|
||
|
ENV CARGO_CARGO_NEW_VCS="none"
|
||
|
ENV CARGO_BUILD_RUSTFLAGS="-C target-feature=+crt-static"
|
||
|
ENV CARGO_BUILD_TARGET="$ARCH-unknown-linux-musl"
|
||
|
|
||
|
WORKDIR /work
|
||
|
|
||
|
RUN cargo init
|
||
|
|
||
|
COPY Cargo.toml Cargo.lock ./
|
||
|
RUN cargo build --release
|
||
|
|
||
|
COPY . .
|
||
|
|
||
|
# ensure rebuilding of the app
|
||
|
RUN touch src/main.rs
|
||
|
RUN cargo build --release
|
||
|
RUN cp "./target/$CARGO_BUILD_TARGET/release/findpenguins-feed" /app
|
||
|
|
||
|
|
||
|
FROM scratch
|
||
|
|
||
|
COPY --from=builder /app /app
|
||
|
CMD ["/app"]
|