build: containerize Rust ML service
This commit is contained in:
+16
-10
@@ -1,19 +1,25 @@
|
|||||||
FROM python:3.11-slim AS runner
|
FROM rust:1.82-bookworm AS builder
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
ENV PYTHONUNBUFFERED=1
|
COPY apps/ml-service/Cargo.toml ./Cargo.toml
|
||||||
ENV MODEL_PATH=/app/model/best_model.keras
|
COPY apps/ml-service/src ./src
|
||||||
|
RUN cargo build --release
|
||||||
|
|
||||||
|
FROM debian:bookworm-slim AS runner
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
ENV MODEL_PATH=/app/model/model.onnx
|
||||||
ENV MODEL_INPUT_SIZE=224
|
ENV MODEL_INPUT_SIZE=224
|
||||||
|
ENV ML_SERVICE_HOST=0.0.0.0
|
||||||
|
ENV ML_SERVICE_PORT=8000
|
||||||
|
ENV RUST_LOG=info
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends libgomp1 \
|
&& apt-get install -y --no-install-recommends ca-certificates \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY apps/ml-service/requirements.txt ./requirements.txt
|
COPY --from=builder /app/target/release/zeavis-ml-service /usr/local/bin/zeavis-ml-service
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
COPY Machine_Learning/model/model.onnx /app/model/model.onnx
|
||||||
|
|
||||||
COPY apps/ml-service ./
|
|
||||||
COPY Machine_Learning/best_model/best_model.keras /app/model/best_model.keras
|
|
||||||
|
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
|
CMD ["zeavis-ml-service"]
|
||||||
|
|||||||
Reference in New Issue
Block a user