FROM rust:1.88.0-slim as builder WORKDIR /usr/src/app RUN apt-get update && apt-get install -y \ pkg-config \ libssl-dev \ libpq-dev \ build-essential \ ca-certificates \ && rm -rf /var/lib/apt/lists/* RUN pkg-config --version && \ pkg-config --libs openssl && \ pkg-config --cflags openssl COPY Cargo.toml Cargo.lock ./ COPY src ./src COPY .sqlx .sqlx COPY migrations ./migrations ENV SQLX_OFFLINE=true RUN cargo build --release FROM debian:bookworm-slim RUN apt-get update && apt-get install -y \ pkg-config \ libssl-dev \ libpq-dev \ build-essential \ ca-certificates \ && rm -rf /var/lib/apt/lists/* RUN pkg-config --version && \ pkg-config --libs openssl && \ pkg-config --cflags openssl RUN groupadd -r appuser && useradd -r -g appuser appuser WORKDIR /app COPY --from=builder /usr/src/app/target/release/mapp /app/mapp RUN chown -R appuser:appuser /app USER appuser EXPOSE 3060 # 运行应用程序 CMD ["./mapp", "serve", "-k"]