mirror of
https://github.com/postgresml/pgcat.git
synced 2026-03-22 17:06:29 +00:00
* Add a cache layer to Docker. * Created a separate `dev` Docker file. * Fixed `Docker.dev` to build in non-release mode.
26 lines
638 B
Docker
26 lines
638 B
Docker
FROM lukemathwalker/cargo-chef:latest-rust-1 AS chef
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y build-essential
|
|
|
|
WORKDIR /app
|
|
|
|
FROM chef AS planner
|
|
COPY . .
|
|
RUN cargo chef prepare --recipe-path recipe.json
|
|
|
|
FROM chef AS builder
|
|
COPY --from=planner /app/recipe.json recipe.json
|
|
# Build dependencies - this is the caching Docker layer!
|
|
RUN cargo chef cook --release --recipe-path recipe.json
|
|
# Build application
|
|
COPY . .
|
|
RUN cargo build
|
|
|
|
FROM debian:bookworm-slim
|
|
COPY --from=builder /app/target/release/pgcat /usr/bin/pgcat
|
|
COPY --from=builder /app/pgcat.toml /etc/pgcat/pgcat.toml
|
|
WORKDIR /etc/pgcat
|
|
ENV RUST_LOG=info
|
|
CMD ["pgcat"]
|