| 123456789101112131415161718192021222324252627282930313233343536 |
- # Simplified Dockerfile for Rust RDMA Engine (using pre-built binary)
- FROM debian:bookworm-slim
- # Install runtime dependencies
- RUN apt-get update && apt-get install -y \
- ca-certificates \
- libssl3 \
- curl \
- procps \
- && rm -rf /var/lib/apt/lists/*
- # Create app user
- RUN useradd -m -u 1001 appuser
- # Set work directory
- WORKDIR /app
- # Copy pre-built binary from local build
- COPY ./rdma-engine/target/release/rdma-engine-server .
- # Change ownership
- RUN chown -R appuser:appuser /app
- USER appuser
- # Set default socket path (can be overridden)
- ENV RDMA_SOCKET_PATH=/tmp/rdma-engine.sock
- # Create socket directory
- RUN mkdir -p /tmp
- # Health check - verify both process and socket using environment variable
- HEALTHCHECK --interval=5s --timeout=3s --start-period=10s --retries=3 \
- CMD pgrep rdma-engine-server >/dev/null && test -S "$RDMA_SOCKET_PATH"
- # Default command using environment variable
- CMD sh -c "./rdma-engine-server --debug --ipc-socket \"$RDMA_SOCKET_PATH\""
|