forked from neri/datatrash
add not yet working multi stage docker build
This commit is contained in:
parent
4af61bfd86
commit
deb99942d3
|
@ -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"]
|
Loading…
Reference in New Issue