diff --git a/Dockerfile.linux b/Dockerfile.linux index 1c8ea73..6bd712b 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -1,39 +1,39 @@ # Build stage for Linux -from rust:1-bookworm as linux-builder +FROM rust:1-bookworm as linux-builder # Install dependencies -run apt-get update && \ - apt-get install -y apt-transport-https && \ - apt-get install -y \ - libssl-dev \ - pkg-config \ - && rm -rf /var/lib/apt/lists/* +RUN apt-get update && \ + apt-get install -y apt-transport-https && \ + apt-get install -y \ + libssl-dev \ + pkg-config \ + && rm -rf /var/lib/apt/lists/* -workdir /app -copy ./WatcherAgent/ . +WORKDIR /app +COPY ./WatcherAgent/ . # Build for Linux -run cargo build --release --target x86_64-unknown-linux-gnu +RUN cargo build --release --target x86_64-unknown-linux-gnu # Setze Berechtigungen für das Binary -run chmod +x /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME +RUN chmod +x /app/target/x86_64-unknown-linux-gnu/release/$BINARY_NAME # Final Linux image -from debian:bookworm-slim +FROM debian:bookworm-slim -run apt-get update && \ - apt-get install -y apt-transport-https && \ - apt-get install -y \ - libssl-dev \ - && rm -rf /var/lib/apt/lists/* +RUN apt-get update && \ + apt-get install -y apt-transport-https && \ + apt-get install -y \ + libssl-dev \ + && rm -rf /var/lib/apt/lists/* # Make binary name configurable -arg BINARY_NAME -env BINARY_NAME=${BINARY_NAME:-WatcherAgent} -copy --from=linux-builder /app/target/x86_64-unknown-linux-gnu/release/${BINARY_NAME} /usr/local/bin/ +ARG BINARY_NAME +ENV BINARY_NAME=${BINARY_NAME:-WatcherAgent} +COPY --from=linux-builder /app/target/x86_64-unknown-linux-gnu/release/${BINARY_NAME} /usr/local/bin/ # Health check -healthcheck --interval=30s --timeout=3s \ +HEALTHCHECK --interval=30s --timeout=3s \ cmd /usr/local/bin/${BINARY_NAME} healthcheck || exit 1 ENTRYPOINT ["/bin/sh", "-c", "/usr/local/bin/${BINARY_NAME}"] \ No newline at end of file