23 lines
No EOL
725 B
Docker
23 lines
No EOL
725 B
Docker
FROM rust:1-alpine as builder
|
|
|
|
RUN rustup default stable
|
|
RUN apk add --no-cache musl-dev openssl-dev openssl-libs-static pkgconf git mold clang
|
|
|
|
# Set `SYSROOT` to a dummy path (default is /usr) because pkg-config-rs *always*
|
|
# links those located in that path dynamically but we want static linking, c.f.
|
|
# https://github.com/rust-lang/pkg-config-rs/blob/54325785816695df031cef3b26b6a9a203bbc01b/src/lib.rs#L613
|
|
ENV SYSROOT=/dummy
|
|
|
|
# Compilation speedup
|
|
ENV CARGO_INCREMENTAL=0
|
|
|
|
WORKDIR /wd
|
|
COPY . /wd
|
|
RUN cargo build --release --target=x86_64-unknown-linux-musl
|
|
|
|
FROM alpine
|
|
ARG version=unknown
|
|
ARG release=unreleased
|
|
|
|
COPY --from=builder /wd/target/x86_64-unknown-linux-musl/release/staxman /usr/local/bin/
|
|
CMD ["staxman"] |