Convert containerfile to two-stage build + app

This commit is contained in:
Kienan Stewart 2022-10-02 16:07:14 -04:00
parent 6ed6c495d7
commit 95227aa296
1 changed files with 12 additions and 10 deletions

View File

@ -1,22 +1,24 @@
# Use unstable for the moment, since this requires rustc >= 1.61
FROM docker.io/library/debian:unstable-slim
FROM docker.io/library/debian:unstable-slim as build
ARG BUILD_ARGS
ENV BUILD_ARGS=${BUILD_ARGS:---release}
RUN apt-get update
RUN apt-get install -y pkg-config build-essential
RUN apt-get install -y cargo
RUN apt-get install -y libssl-dev
RUN mkdir -p /src
RUN mkdir -p /var/lib/haunter
RUN mkdir -p /etc/haunter
WORKDIR /src
COPY ./src ./src
COPY ./Cargo.toml ./
COPY ./Cargo.lock ./
RUN cargo build --release
RUN cp target/release/haunter /usr/local/bin/haunter
RUN cargo build ${BUILD_ARGS}
FROM docker.io/library/debian:unstable-slim as main
RUN apt-get update
RUN apt-get install -y libssl3
RUN mkdir -p /var/lib/haunter
RUN mkdir -p /etc/haunter
WORKDIR /var/lib/haunter
RUN rm -rf /src
# Other cleanup
RUN apt-get purge cargo pkg-config build-essential -y
RUN apt-get autoremove --purge -y
RUN apt-get clean
COPY --from=build /src/target/release/haunter /usr/local/bin/haunter
CMD /usr/local/bin/haunter