Files
netrunner-landing/proxy-ws/Dockerfile
T
2026-04-24 03:52:41 +07:00

32 lines
1.1 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Stage 1: Базовый образ с cargo-chef
FROM lukemathwalker/cargo-chef:latest-rust-alpine AS chef
WORKDIR /app
# musl-dev нужен для компиляции под Alpine
RUN apk add --no-cache musl-dev
# Stage 2: Анализ зависимостей (создает "рецепт")
FROM chef AS planner
COPY . .
RUN cargo chef prepare --recipe-path recipe.json
# Stage 3: Сборка
FROM chef AS builder
COPY --from=planner /app/recipe.json recipe.json
# КЭШИРУЕМЫЙ ШАГ: собираются только зависимости из Cargo.toml
# Если ты поменяешь код в main.rs, Docker пропустит этот долгий шаг!
RUN cargo chef cook --release --recipe-path recipe.json
# Собираем сам код приложения
COPY . .
RUN cargo build --release
# Stage 4: Финальный минималистичный рантайм
FROM alpine:latest
WORKDIR /app
# Копируем только сжатый бинарник
COPY --from=builder /app/target/release/proxy-ws ./proxy-ws
EXPOSE 3001
CMD ["./proxy-ws"]