mirror of
https://github.com/CompeyDev/ruck.git
synced 2025-01-06 02:49:10 +00:00
43 lines
948 B
Docker
43 lines
948 B
Docker
FROM rust:1.58 as build
|
|
|
|
# create a new empty shell project
|
|
RUN USER=root cargo new --bin ruck
|
|
WORKDIR /ruck
|
|
|
|
# copy over your manifests
|
|
COPY ./Cargo.lock ./Cargo.lock
|
|
COPY ./Cargo.toml ./Cargo.toml
|
|
|
|
# this build step will cache your dependencies
|
|
RUN cargo build --release
|
|
|
|
# copy your source tree
|
|
RUN rm src/*.rs
|
|
COPY ./src ./src
|
|
|
|
# build for release
|
|
RUN rm ./target/release/deps/ruck*
|
|
RUN cargo build --release
|
|
|
|
# Copy the binary into a new container for a smaller docker image
|
|
FROM debian:buster-slim
|
|
|
|
RUN USER=root apt-get update && apt-get install wget tar build-essential -y
|
|
|
|
RUN wget -4c https://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.gz
|
|
RUN tar -zxvf glibc-2.29.tar.gz
|
|
RUN cd glibc-2.29
|
|
RUN mkdir build_dir
|
|
RUN cd build_dir
|
|
RUN USER=root ../configure --prefix=/opt/glibc
|
|
RUN USER=root make
|
|
RUN USER=root make install
|
|
|
|
COPY --from=build /ruck/target/release/ruck /
|
|
USER root
|
|
|
|
ENV RUST_LOG=info
|
|
ENV RUST_BACKTRACE=full
|
|
|
|
CMD ["/ruck", "relay"]
|
|
|