diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..eb5a316 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +target diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5be803e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +from mcluseau/rust:1.88.0 as build + +workdir /app +copy . . +run \ + --mount=type=cache,id=rust-alpine-registry,target=/usr/local/cargo/registry \ + --mount=type=cache,id=rust-alpine-target,sharing=private,target=/app/target \ + cargo build --release \ + && mkdir -p /dist \ + && find target/release -maxdepth 1 -type f -executable -exec cp -v {} /dist/ + + +# ------------------------------------------------------------------------ +from alpine:3.22 +copy --from=build /dist/ /bin/ +