github.com/grafana/pyroscope@v1.18.0/examples/language-sdk-instrumentation/rust/rideshare/Dockerfile (about) 1 FROM rust:latest as deps 2 3 WORKDIR /usr/src/server 4 # Copy only files needed for dependency resolution 5 COPY server/Cargo.toml server/Cargo.lock ./ 6 # Create a dummy main.rs to compile dependencies 7 RUN mkdir src && \ 8 echo "fn main() {}" > src/main.rs && \ 9 cargo build --release && \ 10 rm -rf src 11 12 FROM deps as builder 13 # Now copy the actual source code 14 COPY server/src ./src 15 # Build the application 16 RUN cargo install --profile release --path . 17 18 FROM rust:slim as runtime 19 COPY --from=builder /usr/local/cargo/bin/server /usr/local/bin/server 20 EXPOSE 5000 21 CMD ["server"]