-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
37 lines (28 loc) · 867 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
FROM rust:1.74 as build
# FROM rust:1-alpine3.19
ENV RUSTFLAGS="-C target-feature=-crt-static"
# create a new empty shell project
RUN USER=root cargo new --bin rocketmongoman
WORKDIR /rocketmongoman
# copy over your manifests
COPY ./Cargo.lock ./Cargo.lock
COPY ./Cargo.toml ./Cargo.toml
COPY ./Rocket.toml ./Rocket.toml
# this build step will cache your dependencies
# RUN cargo build --release
RUN rm src/*.rs
# copy your source tree
COPY ./src ./src
# build for release
RUN cargo build --release
RUN cargo install --path .
RUN rm ./target/release/deps/*
# our final base
# FROM debian:buster-slim
# FROM alpine:3.19
# FROM rust:1.74-slim-buster
# copy the build artifact from the build stage
# COPY --from=build /rocketmongoman/target/release/rocketmongoman .
# set the startup command to run your binary
# CMD ["./rocketmongoman"]
CMD ["rocketmongoman"]