轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
blackdex/rust-musl
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

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

rust-musl Docker 镜像下载 - 轩辕镜像

rust-musl 镜像详细信息和使用指南

rust-musl 镜像标签列表和版本信息

rust-musl 镜像拉取命令和加速下载

rust-musl 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

rust-musl
blackdex/rust-musl

rust-musl 镜像详细信息

rust-musl 镜像标签列表

rust-musl 镜像使用说明

rust-musl 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于使用musl工具链编译静态Rust二进制文件的Docker镜像,包含多个预编译的C/C++静态库(如OpenSSL、PostgreSQL、MariaDB等),加速编译过程并支持多种数据库和网络依赖,基于Ubuntu 24.04,支持amd64和arm64架构。
2 收藏0 次下载activeblackdex镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

rust-musl 镜像详细说明

rust-musl 使用指南

rust-musl 配置说明

rust-musl 官方文档

rust-musl

该项目提供用于通过Rust语言构建静态musl二进制文件的Docker镜像。它包含多个预编译的C/C++库,以加快Rust项目的编译速度,或使某些项目(如使用MySQL的Diesel)能够成功构建。

这些容器镜像基于Ubuntu 24.04,使用GCC v14.2.0构建工具链和库。自2024年3月15日起,所有镜像均使用musl v1.2.5(通过[***]

以下库已预编译并通过ENV变量标记为STATIC,Rust Crates可识别这些静态库:

  • OpenSSL (v3.5.x)
  • cURL (v8.x.x)
  • ZLib (v1.3.1)
  • PostgreSQL库 (v16.x、v17.x 和 v15.x)
  • SQLite (v3.x.x)
  • MariaDB Connector/C (v3.x.x)(兼容MySQL)
  • libxml2 (v2.x.x)

[!提示] 有关当前版本详情,请查看GitHub仓库:[***]

可用架构

提供stable和nightly两种构建版本。最新nightly版本标签后缀为-nightly,若需特定日期版本,可使用-nightly-YYYY-MM-DD标签。Nightly版本每天约UTC 9:30构建。

Stable版本可直接使用下方列出的标签,或添加-stable后缀。若需固定特定stable版本,可使用-X.Y.Z或-stable-X.Y.Z标签。Stable版本会在有新版本时自动触发构建。

[!提示] 2025-02-15: 创建了aarch64(arm64)基础镜像!
从此日期起,可在aarch64(arm64)架构(如Raspberry Pi 4或5)上构建。
也可使用GitHub arm64运行器(本项目镜像构建亦使用该运行器)。
这意味着可在aarch64(arm64)主机上构建x86_64(amd64)二进制文件。
OCI镜像是多平台容器,在两种架构上功能一致。

OpenSSL v3.5

[!注意] 2024-03-15: 停止在标签中添加-openssl3后缀。

[!注意] 2023-09-29: 停止构建OpenSSL v1.1.1(已停止支持)。
现在仅构建OpenSSL v3.0。

PostgreSQL v16、v17和v15

默认使用PostgreSQL v16库。
若需使用v17或v15,需覆盖环境变量,使PostgreSQL crate指向正确目录。

在命令行添加-e PQ_LIB_DIR="/usr/local/musl/pq17/lib",或在自定义构建镜像中添加ENV PQ_LIB_DIR="/usr/local/musl/pq17/lib",将触发使用v17版本进行构建。

[!注意] 2025-02-18: 新增构建libpq v17(同时支持v15和v16)。

[!注意] 2024-11-26: 停止构建libpq v11(已废弃)。

[!注意] 2024-08-08: libpq v16现为默认版本。v15仍继续构建并可用。

[!注意] 2024-08-02: 某些情况下可能仍使用libpq v11,这取决于编译时其他crate是否在pq-sys之后添加主库路径作为搜索路径,导致rustc使用不同的libpq.a。
现已通过将v11库文件移至单独目录解决此问题。默认目录已更改,除非手动将PQ_LIB_DIR设置为v15目录外的路径,否则不应出现问题。


使用方法

[!警告] 2023-04-23: 停止构建arm-unknown-linux-musleabihf和armv5te-unknown-linux-musleabi。
这些目标似乎未被使用。如有用户使用,请提交issue告知。


交叉编译目标Docker标签
x86_64-unknown-linux-muslx86_64-musl
armv7-unknown-linux-musleabihfarmv7-musleabihf
aarch64-unknown-linux-muslaarch64-musl
arm-unknown-linux-musleabiarm-musleabi

使用这些镜像的方式有两种:作为Dockerfile中的基础镜像,或通过命令行直接使用。


容器仓库

镜像推送到多个容器仓库:

容器仓库地址
[***]
[***]
[***]

使用Dockerfile

FROM docker.io/blackdex/rust-musl:aarch64-musl as build

COPY . /home/rust/src

# 如需使用PostgreSQL v15,取消以下ENV注释
# ENV PQ_LIB_DIR="/usr/local/musl/pq15/lib"

RUN cargo build --release

FROM scratch

WORKDIR /
COPY --from=build /home/rust/src/target/aarch64-unknown-linux-musl/release/my-application-name .

CMD ["/my-application-name"]

使用命令行

如需使用PostgreSQL v17客户端库,在-v "$(pwd)"参数前添加-e PQ_LIB_DIR="/usr/local/musl/pq17/lib"。

# 首先拉取镜像:
docker pull docker.io/blackdex/rust-musl:aarch64-musl

# 创建别名
alias rust-musl-builder='docker run --rm -it -v "$(pwd)":/home/rust/src docker.io/blackdex/rust-musl:aarch64-musl'
rust-musl-builder cargo build --release

# 或直接使用
docker run --rm -it -v "$(pwd)":/home/rust/src docker.io/blackdex/rust-musl:aarch64-musl cargo build --release

作为GitHub Actions容器

也可将这些镜像用作GitHub Actions容器。
以下是构建aarch64二进制文件的简单示例:

name: "构建容器"

on:
  push:
    branches:
     - main

jobs:
  build_container:
    runs-on: ubuntu-latest
    container: ghcr.io/blackdex/rust-musl:aarch64-musl-stable
    steps:
      - uses: actions/checkout@v4
      - name: 构建
        run: |
          cargo build --release

提示

验证容器镜像

自2025年2月15日起,可使用gh客户端验证所有镜像。

例如,验证aarch64 v1.84.1镜像:

gh attestation verify --owner BlackDex oci://ghcr.io/blackdex/rust-musl:aarch64-musl-stable-1.84.1

使用不同的内存分配器

有时musl-based二进制文件比glibc-based慢,主要原因是内存分配器(malloc)性能差异。
提升性能的一种方法是在Rust项目中使用其他内存分配器。
例如,Vaultwarden通过mimalloc_rust使用MiMalloc。
也有其他内存分配器可供选择,选择最适合应用的即可。
构建后的测试会验证MiMalloc crate。

测试

在自动构建工作流中,镜像首先通过Rust项目进行测试,该项目使用Diesel测试所有预编译的C/C++库(数据库库),以及OpenSSL、ZLib和cURL等其他库。

若测试失败,镜像将不会推送到Docker Hub。


链接问题(atomic)

由于一些特殊bug/特性,某些平台可能报告缺少__atomic*库。奇怪的是,这些库实际存在,但链接器或rustc可能忽略它们(如有解决方案,请分享)。

因此,某些平台可能需要额外的RUSTFLAGS以指定C归档文件(.a)的正确位置。

交叉编译目标RUSTFLAGS参数
arm-unknown-linux-musleabi-Clink-arg=-latomic

历史

我启动该项目是为了使Vaultwarden能够静态构建并支持所有数据库。SQLite因有捆绑选项问题不大,但PostgreSQL和MariaDB/MySQL没有捆绑/ vendored特性。

同时,我也希望更好地理解musl工具链和GitHub Actions,目前已达成目标。

参考

启发本项目的部分项目:

  • [***]
  • [***]
  • [***]

实现过程中使用的项目:

  • [***]
  • [***]
查看更多 rust-musl 相关镜像 →

常见问题

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

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

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

manifest unknown 错误

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

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

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

查看全部问题→

轩辕镜像下载加速使用手册

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

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.