Files
trainer/cmd/data_cache/Dockerfile
T
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f523918b09 chore(deps): bump rust from 1.93-bullseye to 1.94-bullseye in /cmd/data_cache (#3289)
Bumps rust from 1.93-bullseye to 1.94-bullseye.

---
updated-dependencies:
- dependency-name: rust
  dependency-version: 1.94-bullseye
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-13 10:43:01 +00:00

48 lines
1.2 KiB
Docker

FROM rust:1.94-bullseye AS builder
WORKDIR /workspace
ENV RUST_LOG=info
# Install system dependencies
RUN apt-get update && \
apt-get -y install libssl-dev openssl zlib1g zlib1g-dev libpq-dev cmake protobuf-compiler netcat curl && \
rm -rf /var/lib/apt/lists/*
# Install cargo-chef for better caching
RUN rustup update && cargo install cargo-chef --version 0.1.62
# Copy manifests for dependency caching
COPY pkg/data_cache/Cargo.toml pkg/data_cache/Cargo.lock ./
# Cache dependencies
RUN cargo fetch
# Copy source code
COPY pkg/data_cache/ .
# Run tests
RUN cargo test --tests
# Build binaries in release mode
RUN cargo build --release --bin head --bin worker
# Stage 2: Create a minimal runtime image
FROM debian:bookworm-slim AS runtime
# Install runtime dependencies
RUN apt-get update && \
apt-get -y install ca-certificates && \
rm -rf /var/lib/apt/lists/*
# Copy binaries from builder stage
COPY --from=builder /workspace/target/release/head /usr/local/bin/head
COPY --from=builder /workspace/target/release/worker /usr/local/bin/worker
# Create non-root user
RUN groupadd -r cache_user && useradd -r -g cache_user cache_user
# Change ownership and switch to non-root user
RUN chown -R cache_user:cache_user /usr/local/bin/
USER cache_user