diff --git a/.dockerignore b/.dockerignore index dd59f6c..a471289 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,3 +3,5 @@ contrib/ target/ venv/ .github/ +Dockerfile +docker-compose.yml diff --git a/Dockerfile b/Dockerfile index 02b0a78..af21d07 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,15 +2,24 @@ FROM rust:1.81 AS builder RUN mkdir /build WORKDIR /build -COPY ./ . -RUN cargo build --release --features s3 +COPY --link ./Cargo.toml . +COPY --link ./build.rs . +COPY --link ./src ./src +COPY --link ./tests . -FROM alpine +RUN --mount=type=cache,target=/usr/local/cargo/registry,id=kdi-cargo-registry \ + --mount=type=cache,target=/usr/local/cargo/git,id=kdi-cargo-git \ + --mount=type=cache,target=target,id=kdi-target \ + cargo build --release --features s3 && cp target/release/kafka-delta-ingest . -RUN apk add -U ca-certificates +FROM debian:12 + +RUN apt-get update && apt-get -y install \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* WORKDIR /build -COPY --from=builder /build/target/release/kafka-delta-ingest ./ +COPY --from=builder /build/kafka-delta-ingest ./ ENTRYPOINT ["/build/kafka-delta-ingest"]