feat(all): 重炼 crates/common 核心组件、上线 Web 运维看板与 Docker 容器化部署
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# =============================================================================
|
||||
# DCTS Worker Node Dockerfile — Fortran (gfortran/BLAS/LAPACK) + Node Runner
|
||||
# =============================================================================
|
||||
|
||||
# ─── Stage 1: Rust Node Worker 二进制编译 ────────────────────────────────────
|
||||
FROM rust:1.80-alpine AS node-builder
|
||||
RUN apk add --no-cache musl-dev g++ make pkgconfig sqlite-dev
|
||||
WORKDIR /app
|
||||
COPY Cargo.toml Cargo.lock ./
|
||||
COPY crates/ ./crates/
|
||||
COPY tools/ ./tools/
|
||||
RUN cargo build --release -p node && \
|
||||
cp /app/target/release/node /usr/local/bin/dcts-node
|
||||
|
||||
# ─── Stage 2: Fortran 运行环境镜像 ───────────────────────────────────────────
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gfortran \
|
||||
liblapack-dev \
|
||||
libblas-dev \
|
||||
ca-certificates \
|
||||
curl \
|
||||
procps \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN groupadd -g 65532 dcts && useradd -u 65532 -g dcts -s /bin/bash dcts
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=node-builder /usr/local/bin/dcts-node /app/
|
||||
|
||||
RUN mkdir -p /app/data/runtime /app/data/work /app/logs /app/assets && \
|
||||
chown -R dcts:dcts /app
|
||||
|
||||
USER dcts
|
||||
|
||||
ENV DCTS_SERVER_URL=http://dcts-server:8090
|
||||
ENV DCTS_MAX_SLOTS=4
|
||||
ENV DCTS_HEARTBEAT_SEC=15
|
||||
ENV DCTS_RUNTIME_DIR=/app/data/runtime
|
||||
ENV DCTS_WORK_DIR=/app/data/work
|
||||
ENV DCTS_ASSETS_DIR=/app/assets
|
||||
|
||||
VOLUME ["/app/data/work", "/app/logs"]
|
||||
|
||||
ENTRYPOINT ["/app/dcts-node"]
|
||||
Reference in New Issue
Block a user