From dc6f9b5ec6e125b8a22437443406f8168279dc84 Mon Sep 17 00:00:00 2001 From: Alistair Bahr Date: Tue, 17 Oct 2023 17:20:13 +0200 Subject: [PATCH] use static linking in Dockerfile; add docker-compose.yml --- Dockerfile | 12 +++++++----- docker-compose.yml | 8 ++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile index 5c49b4d..2dc4861 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,17 @@ FROM rust:1-slim AS builder -RUN apt update && apt install -y libclang-dev +RUN apt-get update && \ + apt-get install -y libclang-dev musl-tools +RUN rustup target add x86_64-unknown-linux-musl COPY . /sources WORKDIR /sources -RUN cargo build --release -RUN chown nobody:nogroup /sources/target/release/bin - +# force static linking with target to avoid glibc issues +RUN cargo build --release --target x86_64-unknown-linux-musl +RUN chown nobody:nogroup /sources/target/x86_64-unknown-linux-musl/release/bin FROM debian:bullseye-slim -COPY --from=builder /sources/target/release/bin /pastebin +COPY --from=builder /sources/target/x86_64-unknown-linux-musl/release/bin /pastebin USER nobody EXPOSE 8000 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..70f20ac --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +version: '3' +services: + bin: + build: + context: . + dockerfile: Dockerfile + ports: + - "8000:8000" \ No newline at end of file