Dockerfile.rdma-engine.simple 995 B

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