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