add not yet working multi stage docker build

This commit is contained in:
neri 2020-07-12 00:16:36 +02:00
parent 4af61bfd86
commit deb99942d3
1 changed files with 30 additions and 0 deletions

30
Dockerfile Normal file
View File

@ -0,0 +1,30 @@
FROM postgres as builder
ENV POSTGRES_USER "datatrash"
ENV POSTGRES_PASSWORD "secure"
RUN apt-get update
RUN apt-get install --yes curl build-essential
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o rustup-install.sh
RUN sh rustup-install.sh -y
ENV PATH="/root/.cargo/bin:${PATH}"
RUN rustup target add x86_64-unknown-linux-musl
ENV USER rust
WORKDIR /
RUN cargo new --bin datatrash
WORKDIR /datatrash
COPY Cargo.lock Cargo.lock
COPY Cargo.toml Cargo.toml
RUN cargo build --release --target=x86_64-unknown-linux-musl --features vendored
RUN rm src/*.rs
COPY src src
ENV DATABASE_URL "postgresql://datatrash:secure@localhost"
RUN rm target/release/deps/datatrash*
RUN cargo build --release --target=x86_64-unknown-linux-musl --features vendored
RUN strip target/release/horrible
FROM SCRATCH
COPY --from=builder /datatrash/target/release/datatrash /datatrash
ENTRYPOINT ["/datatrash"]