本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

clux/muslrust 是一个基于 GitHub Actions 每日定时构建的 Docker 镜像(构建源:[***] Rust 编程语言的 stable 和 nightly 版本,并包含通过 musl C 标准库编译的 C 运行时依赖。其核心用途是为 Rust 应用开发和编译提供标准化环境,尤其适用于需要静态链接以生成独立可执行文件的场景,满足容器化环境中对最小化依赖和可移植性的需求。
x86_64-unknown-linux-musl 目标进行静态链接。镜像通过标签区分 Rust 版本,默认提供以下标签:
stable:包含 Rust stable 版本及对应 musl 工具链nightly:包含 Rust nightly 版本及对应 musl 工具链# 拉取 stable 版本(推荐生产环境) docker pull clux/muslrust:stable # 拉取 nightly 版本(用于试验新特性) docker pull clux/muslrust:nightly
通过 docker run 启动容器,支持交互式开发或命令行编译:
# 启动包含当前目录代码的交互式 shell docker run --rm -it -v $(pwd):/app -w /app clux/muslrust:stable sh
-v $(pwd):/app:挂载本地当前目录到容器内 /app 路径-w /app:设置工作目录为 /app--rm:容器退出后自动清理-it:启用交互式终端在宿主机执行命令,编译容器内的 Rust 项目:
# 静态编译项目(生成 x86_64-unknown-linux-musl 目标产物) docker run --rm -v $(pwd):/app -w /app clux/muslrust:stable \ cargo build --target x86_64-unknown-linux-musl --release
编译产物将输出至宿主机的 ./target/x86_64-unknown-linux-musl/release/ 目录。
假设本地有一个简单的 Rust 项目(Cargo.toml 和 src/main.rs),通过以下命令编译为静态链接的可执行文件:
# 挂载项目目录并执行静态编译 docker run --rm -v $(pwd):/app -w /app clux/muslrust:stable \ cargo build --target x86_64-unknown-linux-musl --release
编译完成后,可执行文件位于 ./target/x86_64-unknown-linux-musl/release/,可直接在任何 Linux 系统运行(无需依赖外部库)。
在多阶段构建中使用该镜像编译应用,最终产物部署到最小化镜像:
# 阶段 1:使用 muslrust 编译应用 FROM clux/muslrust:stable AS builder WORKDIR /app COPY . . RUN cargo build --target x86_64-unknown-linux-musl --release # 阶段 2:基于 scratch 镜像部署静态产物 FROM scratch COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/my-app / ENTRYPOINT ["/my-app"]
容器支持通过环境变量自定义构建行为,常用变量如下:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
CARGO_HOME | Cargo 缓存目录 | /root/.cargo |
RUSTUP_HOME | Rustup 工具链目录 | /root/.rustup |
RUSTFLAGS | 自定义 Rust 编译参数(如链接选项) | 空 |
TARGET | 默认编译目标(如 x86_64-unknown-linux-musl) | 自动匹配当前架构 |
docker run --rm -v $(pwd):/app -w /app \ -e RUSTFLAGS="-C link-arg=-s" \ # 去除符号表减小二进制体积 clux/muslrust:stable \ cargo build --release --target x86_64-unknown-linux-musl
通过 docker-compose.yml 简化多步骤构建或持续开发:
version: '3' services: rust-builder: image: clux/muslrust:stable volumes: - ./:/app # 挂载本地代码目录 - cargo-cache:/root/.cargo # 持久化 Cargo 缓存(加速重复构建) working_dir: /app command: cargo build --target x86_64-unknown-linux-musl --release volumes: cargo-cache: # 定义缓存卷
运行构建:docker-compose run rust-builder
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429