Add Dockerfile.
This commit is contained in:
parent
0914392b3e
commit
163502505a
|
@ -0,0 +1,25 @@
|
|||
FROM rust:1.64 as builder
|
||||
|
||||
# Create a new empty project.
|
||||
RUN USER=root cargo new --bin tildes-statistics
|
||||
WORKDIR /tildes-statistics
|
||||
RUN mv src source
|
||||
|
||||
# Copy the Cargo files and build in release, caching the dependencies.
|
||||
COPY Cargo.* .
|
||||
RUN cargo build --release
|
||||
|
||||
# Then copy our code. This way when only the source code changes, the
|
||||
# dependencies don't have to be entirely rebuilt.
|
||||
COPY source source
|
||||
|
||||
# Remove the cached tildes-statistics dependencies.
|
||||
RUN rm target/release/deps/tildes_statistics*
|
||||
|
||||
# Build the executable with actual source code.
|
||||
RUN cargo install --path .
|
||||
|
||||
# Copy the executable to a smaller final image.
|
||||
FROM debian:bullseye-slim
|
||||
COPY --from=builder /usr/local/cargo/bin/tildes-statistics /usr/local/bin
|
||||
CMD ["tildes-statistics"]
|
Loading…
Reference in New Issue