Sign inSign up

nixue/notrust

By nixue

•Updated 25 days ago

notrust 是一个预配置权限的 Rust 运行容器,基于 Alpine 构建。

Image
Languages & frameworks
Data science
Operating systems
0

46

nixue/notrust repository overview

⁠notrust(Rust)

notrust 是一个预配置权限的 Rust 运行容器,基于 Alpine 构建。

Rust 编译出来是静态二进制,不需要运行时环境,所以没有版本矩阵。

⁠核心特性
  • 无版本矩阵:Rust 二进制自带运行时,不依赖外部环境
  • 基础镜像:Alpine 3.21
  • 非 root 运行:默认创建 UID/GID 1000 的 appuser
  • 中文环境:时区 Asia/Shanghai,语言 zh_CN.UTF-8
  • 预置目录:/app/Bin、/app/Log、/app/Temp,权限 775
  • 数据卷:/app 声明为 VOLUME
  • 端口 8080
  • 参数透传:docker run 时镜像名后面的参数会追加到启动命令之后
⁠快速开始
docker pull nixue/notrust:alpine
docker run -d \
  --name myapp \
  -p 8080:8080 \
  -v /宿主机/应用目录:/app \
  nixue/notrust:alpine

容器自动执行:

/app/NotApp
⁠入口变量
变量默认值说明
APP_BINNotApp要运行的二进制文件名
⁠追加应用参数
docker run -d \
  -e APP_BIN=hkrm-server \
  -v /宿主机/应用目录:/app \
  nixue/notrust:alpine \
  --port 8080
⁠交叉编译提醒

Rust 二进制需要用 musl target 编译,才能在 Alpine 里跑:

FROM rust:1.83-alpine AS builder
RUN apk add --no-cache musl-dev
WORKDIR /build
COPY . .
RUN cargo build --release --target x86_64-unknown-linux-musl

FROM nixue/notrust:alpine
COPY --from=builder /build/target/x86_64-unknown-linux-musl/release/NotApp /app/NotApp

如果编译时用的是 gnu target(默认),在 Alpine 上可能因 glibc 缺失而跑不起来。用 musl target 最稳。


Tag summary

Content type

Image

Digest

sha256:5b0835560…

Size

3.9 MB

Last updated

25 days ago

docker pull nixue/notrust:alpine