83·语言实践进阶

Rust 容器化

Rust 容器化

多阶段构建(推荐)

# 构建阶段
FROM rust:1.75 AS builder
WORKDIR /app
COPY Cargo.toml Cargo.lock ./
COPY src ./src
RUN cargo build --release

# 运行阶段
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/my-app /usr/local/bin/
CMD ["my-app"]

Alpine 版本

FROM rust:1.75-alpine AS builder
WORKDIR /app
RUN apk add --no-cache musl-dev
COPY . .
RUN cargo build --release

FROM alpine:3.18
COPY --from=builder /app/target/release/my-app /usr/local/bin/
CMD ["my-app"]

小结

要点说明
多阶段构建减小镜像
基础镜像debian-slim 或 alpine
静态编译RUSTFLAGS='-C target-feature=+crt-static'

练习编辑器

bash
Loading...