migrate Dockerfile away from rust-musl-builder

This commit is contained in:
neri 2021-10-26 23:31:21 +02:00
parent ff3bf42342
commit 11b846ac38
1 changed files with 19 additions and 24 deletions

View File

@ -1,34 +1,29 @@
FROM ekidd/rust-musl-builder:beta as build
FROM rust:alpine3.14 as builder
USER rust
WORKDIR /home/rust/src/
RUN USER=rust cargo new datatrash
WORKDIR /app
RUN apk add musl-dev
WORKDIR /home/rust/src/datatrash
COPY --chown=rust Cargo.toml Cargo.lock ./
RUN cargo build --release
RUN cargo init
COPY Cargo.toml Cargo.lock ./
RUN cargo build --release --target=x86_64-unknown-linux-musl
COPY --chown=rust src ./src
COPY --chown=rust static ./static
COPY --chown=rust template ./template
COPY --chown=rust snippet ./snippet
COPY --chown=rust init-db.sql ./init-db.sql
COPY src ./src
COPY static ./static
COPY template ./template
COPY snippet ./snippet
COPY init-db.sql ./init-db.sql
RUN touch src/main.rs
RUN cargo build --release
RUN strip target/x86_64-unknown-linux-musl/release/datatrash
RUN cargo build --release --target=x86_64-unknown-linux-musl
RUN strip /app/target/x86_64-unknown-linux-musl/release/datatrash
FROM alpine:latest
ENV RUST_BACKTRACE "1"
RUN mkdir /opt/datatrash
FROM alpine:3.14
WORKDIR /opt/datatrash
COPY --from=build \
/home/rust/src/datatrash/target/x86_64-unknown-linux-musl/release/datatrash \
/opt/datatrash/
COPY static /opt/datatrash/static
RUN mkdir /opt/datatrash/files
COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/datatrash ./
COPY static ./static
RUN mkdir ./files
EXPOSE 8000
ENTRYPOINT ["/opt/datatrash/datatrash"]
ENTRYPOINT ["datatrash"]