You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rust Docker构建报错openssl-sys v0.9.67自定义构建命令运行失败

问题根因

你在本地macOS环境执行的所有排查操作均不生效,原因是Docker构建使用完全隔离的独立容器环境,不会读取本地系统的依赖包、环境变量配置。
从报错日志可以直接定位核心问题:你使用的rust:slim镜像为了减小体积裁剪了大量系统组件,编译openssl的vendored版本时,依赖的perl核心模块FindBin.pm缺失,同时缺少基础C编译工具链。

解决方案

修改你的Dockerfile,在执行Cargo构建前安装必要的系统依赖即可:

FROM rust:slim
# 安装编译所需的依赖包
RUN apt-get update && apt-get install -y --no-install-recommends \
    pkg-config \
    libssl-dev \
    perl \
    gcc \
    libc6-dev \
    && rm -rf /var/lib/apt/lists/*
COPY . /build-xxx/
RUN cd /build-xxx/ && rustup default nightly && rustup update && cargo build --release
LABEL Name=XXX Version=0.0.1
EXPOSE 8000
ENV ROCKET_ENV=stage
CMD ["/build-xxx/target/release/xxx"]

可选优化

如果需要减小最终镜像体积,可以使用多阶段构建:第一阶段完成代码编译,第二阶段仅将编译好的二进制文件复制到空白的slim镜像中,无需保留编译依赖。

内容的提问来源于stack exchange,提问作者maridob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:45:02