专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

messense/rust-musl-cross Docker 镜像 - 轩辕镜像

rust-musl-cross
messense/rust-musl-cross
用于使用musl-cross编译静态Rust二进制文件的Docker镜像
7 收藏0 次下载
⏱️ 镜像拉取更稳定,部署项目不再心跳加速
中文简介版本下载
⏱️ 镜像拉取更稳定,部署项目不再心跳加速

rust-musl-cross Docker镜像

镜像概述和主要用途

rust-musl-cross是一套用于使用musl-cross工具链编译静态Rust二进制文件的Docker镜像。该镜像旨在简化Rust应用程序的静态编译流程,解决跨平台静态链接时的系统依赖问题,生成可在多种Linux环境中直接运行、无动态库依赖的可执行文件。通过预配置musl libc及对应交叉编译工具链,开发者无需在本地系统手动配置复杂依赖,即可快速构建跨架构的静态二进制文件。

核心功能和特性

  • 多架构支持:提供针对多种目标架构的预构建镜像,包括x86_64、aarch64、armv7、i686等常见架构。
  • 完整工具链集成:内置Rust编译器(rustc、cargo)、musl libc、交叉编译工具(gcc、ld)及常用系统库(如openssl、zlib、libgit2等),满足多数静态编译需求。
  • 简化编译流程:通过容器化环境统一编译标准,避免因本地系统差异导致的编译问题,直接通过cargo命令完成静态构建。
  • 版本化标签策略:镜像标签包含Rust版本与目标架构信息(如1.75.0-x86_64-unknown-linux-musl),便于选择特定版本工具链。
  • 与Cargo无缝集成:支持标准cargo命令(如build、test、run),无需修改现有项目配置即可实现静态编译。

使用场景和适用范围

  • 跨平台静态二进制构建:适用于需要为不同Linux架构(如x86_64服务器、ARM嵌入式设备)构建Rust应用的开发者。
  • 无依赖可执行文件需求:需生成可直接在最小化Linux系统(如Alpine、Docker scratch镜像)或无root环境运行的应用程序(如服务器服务、CLI工具)。
  • CI/CD流程集成:可嵌入自动化构建流程,确保在一致环境中生成静态二进制文件,提升构建可靠性。
  • 简化部署流程:静态二进制文件可直接分发,无需目标环境安装Rust或系统依赖,降低部署复杂度。

使用方法和配置说明

基本使用流程
1. 拉取镜像

根据目标架构和Rust版本选择对应标签,从Docker Hub拉取镜像:

bash
docker pull messense/rust-musl-cross:1.75.0-x86_64-unknown-linux-musl
2. 编译项目

在Rust项目根目录下,通过docker run挂载项目目录并执行编译命令。例如构建x86_64架构静态二进制:

bash
docker run --rm -v "$(pwd)":/workspace -w /workspace messense/rust-musl-cross:1.75.0-x86_64-unknown-linux-musl cargo build --release

编译产物将位于宿主机项目的target/x86_64-unknown-linux-musl/release/目录。

支持的架构和标签

镜像标签格式为${RUST_VERSION}-${TARGET},其中:

  • ${RUST_VERSION}:Rust编译器版本(如1.75.0)
  • ${TARGET}:目标架构三元组,常见支持目标包括:
    • x86_64-unknown-linux-musl(x86_64架构Linux)
    • aarch64-unknown-linux-musl(ARM64架构Linux)
    • armv7-unknown-linux-musleabihf(ARMv7架构Linux,硬浮点)
    • i686-unknown-linux-musl(x86 32位架构Linux)
    • riscv64gc-unknown-linux-musl(RISC-V 64位架构Linux)

完整目标列表可参考项目GitHub仓库。

环境变量

可通过-e参数传递环境变量自定义编译行为:

  • RUSTFLAGS:传递额外Rust编译器标志,如-C opt-level=3 -C target-cpu=native
  • CARGO_ARGS:额外cargo命令参数,如--no-default-features --features=static
  • USER_ID:指定容器内运行用户UID(默认使用当前用户UID),解决宿主机文件权限问题
  • GROUP_ID:指定容器内运行用户GID(默认使用当前用户GID)

示例:传递自定义编译参数并保持文件权限

bash
docker run --rm -v "$(pwd)":/workspace -w /workspace \
  -e RUSTFLAGS="-C lto=thin" \
  -e USER_ID=$(id -u) -e GROUP_ID=$(id -g) \
  messense/rust-musl-cross:1.75.0-x86_64-unknown-linux-musl \
  cargo build --release --features=static
高级配置
自定义Cargo配置

如需自定义cargo配置(如镜像源、依赖路径),可将宿主机~/.cargo/config.toml挂载至容器对应目录:

bash
docker run --rm \
  -v "$(pwd)":/workspace \
  -v "$HOME/.cargo/config.toml":/root/.cargo/config.toml \
  -w /workspace \
  messense/rust-musl-cross:1.75.0-x86_64-unknown-linux-musl \
  cargo build --release
安装额外系统库

对于依赖未预安装系统库的项目,可通过Alpine包管理器apk在容器内安装(需以root用户运行):

bash
docker run --rm -v "$(pwd)":/workspace -w /workspace --user root \
  messense/rust-musl-cross:1.75.0-x86_64-unknown-linux-musl \
  sh -c "apk add libpng-dev && cargo build --release"

注意事项

  • 镜像基于Alpine Linux构建,体积较大(约1-3GB),首次拉取需耐心等待。
  • 编译产物权限默认与容器内用户一致,建议通过USER_ID和GROUP_ID环境变量指定宿主机用户ID,避免文件权限冲突。
  • 部分Rust crate可能存在musl兼容性问题,可参考项目GitHub Issues或官方文档获取解决方案。
查看更多 rust-musl-cross 相关镜像 →
mrzhxl/rust-musl-cross logo
mrzhxl/rust-musl-cross
暂无描述
10K+ pulls
上次更新:未知
rust logo
rust
Rust是一种由Mozilla主导开发的系统编程语言,其核心设计目标聚焦于安全性、速度与并发性能,通过创新的内存安全机制(如所有权系统)在无需垃圾回收的情况下保障程序安全,同时兼顾高效的执行速度与强大的并发处理能力,广泛适用于底层系统开发、嵌入式设备、高性能服务器及关键基础设施等对可靠性与性能要求严苛的领域。
1125100M+ pulls
上次更新:未知
crossplane/crossplane logo
crossplane/crossplane
无需编写代码即可构建云原生控制平面的框架,具备高度可扩展后端(支持跨环境编排应用和基础设施)与高度可配置前端(控制声明式API模式),是CNCF项目。
610M+ pulls
上次更新:未知
rustfs/rustfs logo
rustfs/rustfs
这是一款高性能分布式对象存储系统,作为MinIO的替代方案,适用于大规模数据存储场景,具备高扩展性、高可靠性与高效数据处理能力,采用Apache 2.0开源许可协议,支持免费使用、商用部署及二次开发,为用户提供灵活且经济的分布式存储解决方案。
24500K+ pulls
上次更新:未知
cimg/rust logo
cimg/rust
CircleCI Rust便捷Docker镜像,为CircleCI平台提供Rust开发环境,支持Rust项目的持续集成构建与测试任务。
810M+ pulls
上次更新:未知
stagex/musl logo
stagex/musl
musl C库(libc)的Docker镜像实现,提供轻量级、高效且符合POSIX标准的C标准库环境,适用于构建和运行依赖musl的应用程序。
50K+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
messense/rust-musl-cross
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.