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

一个轻量级、安全的 Deno 运行时镜像,基于 Alpine Linux 构建,带有 S6 叠加层、全面的权限管理和开发者友好的工具。
 docker pull tundrasoft/deno:latest # 从 GitHub 容器仓库拉取 docker pull ghcr.io/tundrasoft/deno:latest # 运行简单的 Deno 应用 docker run -d \ -p 8080:8080 \ -e FILE=[***] \ --name deno-app \ tundrasoft/deno:latest # 使用自定义时区和权限运行 docker run -d \ -e TZ=Asia/Shanghai \ -e ALLOW_NET=1 \ -e ALLOW_READ=1 \ -v $(pwd):/app \ --name my-deno-app \ tundrasoft/deno:latest
| 版本 | 标签 |
|---|---|
| latest | 最新稳定版 |
| edge | 开发版/边缘版本 |
| 2.4 | 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0 |
| 2.3 | 2.3.7, 2.3.6, 2.3.5 |
tundra(UID/GID: 1000)在 Dockerfile 中用作基础镜像:
# 从 Docker Hub FROM tundrasoft/deno:latest # 此处添加您的 Deno 应用设置 COPY . /app
# 从 GitHub 容器仓库 FROM ghcr.io/tundrasoft/deno:latest # 此处添加您的 Deno 应用设置 COPY . /app
对于特定版本:
FROM tundrasoft/deno:2.1.4 # 或使用特定 Alpine 版本 FROM tundrasoft/deno:alpine-3.20-2.1.4
运行远程脚本:
docker run -p 8080:8080 \ -e FILE=[***] \ -e ALLOW_NET=1 \ tundrasoft/deno:latest
使用 Deno 任务运行:
docker run -v $(pwd):/app \ -e TASK=start \ -e ALLOW_ALL=1 \ tundrasoft/deno:latest
运行本地应用:
docker run -v $(pwd):/app \ -e FILE=/app/main.ts \ -e ALLOW_NET=api.example.com \ -e ALLOW_READ=/app \ tundrasoft/deno:latest
| 变量 | 描述 | 默认值 |
|---|---|---|
DENO_DIR | 缓存项存储目录 | /deno-dir |
TASK | 运行 deno.json 中的任务(忽略权限标志) | N/A |
FILE | 使用权限标志运行的文件 | N/A |
PUID | tundra 用户的用户 ID | 1000 |
PGID | tundra 组的组 ID | 1000 |
TZ | 时区(例如 Asia/Shanghai、America/New_York) | UTC |
这些环境变量控制 Deno 运行时权限(仅在 FILE 模式下使用):
| 变量 | 描述 | 默认值 |
|---|---|---|
ALLOW_ALL | 启用所有权限 (-A 或 --allow-all) | N/A |
ALLOW_HRTIME | 允许高分辨率时间测量 | N/A |
ALLOW_SYS | 允许系统信息访问 | N/A |
ALLOW_ENV | 允许环境变量访问 | N/A |
ALLOW_NET | 网络访问(1 表示全部,或指定域名) | 1 |
ALLOW_READ | 文件系统读取访问(1 表示全部,或指定路径) | N/A |
ALLOW_WRITE | 文件系统写入访问(1 表示全部,或指定路径) | N/A |
ALLOW_RUN | 命令执行(1 表示全部,或命令 CSV 列表) | N/A |
UNSTABLE | 启用不稳定 API(特定功能:ffi、cron 等) | 0 |
📚 参考: Deno 权限文档
| 路径 | 描述 |
|---|---|
/app | 应用根目录(建议挂载为卷) |
/crons | cron 任务文件目录(自动加载) |
/deno-dir | Deno 缓存目录 |
此镜像使用 S6 Overlay 进行高级进程管理和服务管理。
S6 通过触发点提供依赖管理:
| 触发器 | 描述 |
|---|---|
os-ready | 容器启动,基本设置完成 |
config-start | 开始配置更改 |
config-ready | 配置完成 |
service-start | 开始服务初始化 |
service-ready | 所有服务初始化完成 |
| 服务 | 用途 | 依赖项 |
|---|---|---|
config-deno | 准备 Deno 环境和目录 | config-start |
deno | 启动 Deno 应用 | config-deno、service-start |
crond | 启动 cron 守护进程 | service-start、config-cron |
内置健康检查每 30 秒运行一次:
HEALTHCHECK --interval=30s --timeout=5s --start-period=30s CMD /usr/bin/healthcheck.sh
docker build \ --build-arg ALPINE_VERSION=3.20 \ --build-arg DENO_VERSION=2.1.4 \ -t my-deno-image .
| 参数 | 描述 | 示例 |
|---|---|---|
DENO_VERSION | Deno 运行时版本 | 2.1.4 |
ALPINE_VERSION | Alpine Linux 版本 | 3.20 |
此仓库实施全面的安全扫描和最佳实践:
tundra 用户(UID/GID 1000)运行容器运行时安全:
# 使用只读根文件系统运行 docker run --read-only --tmpfs /tmp --tmpfs /run tundrasoft/deno:latest # 使用特定用户并删除功能 docker run --user 1000:1000 --cap-drop=ALL tundrasoft/deno:latest # 限制资源 docker run --memory=512m --cpus=1 --pids-limit=100 tundrasoft/deno:latest # 限制网络访问到特定域名 docker run -e ALLOW_NET=api.example.com,cdn.jsdelivr.net tundrasoft/deno:latest
文件系统安全:
# 将应用文件挂载为只读 docker run -v $(pwd):/app:ro tundrasoft/deno:latest # 使用特定的读写权限 docker run -e ALLOW_READ=/app,/etc/ssl -e ALLOW_WRITE=/tmp tundrasoft/deno:latest # 安全挂载密钥 docker run -v /host/secrets:/secrets:ro,Z -e ALLOW_READ=/secrets tundrasoft/deno:latest
生产环境部署:
# 始终使用特定版本标签 docker run tundrasoft/deno:2.1.4 # 而非 'latest' # 使用自定义网络 docker network create --driver bridge secure-app-net docker run --network secure-app-net tundrasoft/deno:2.1.4 # 启用日志记录 docker run --log-driver=json-file --log-opt max-size=10m tundrasoft/deno:2.1.4
有关安全问题,请使用 GitHub 的私有漏洞报告。
现代、安全的 JavaScript 和 TypeScript 运行时,基于 V8 和 Rust 构建。提供:
轻量级、注重安全的 Linux 发行版,占用空间小。
用于容器的高级初始化系统和进程管理器。提供:
完整的 cron 守护进程,支持动态任务加载和环境变量替换。
GNU gettext 工具,用于配置文件中的环境变量替换。
完整的时区数据库,通过 TZ 环境变量轻松配置。
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-feature由 TundraSoft 精心打造 ❤️
在 GitHub 上查看 • Docker Hub • 报告问题
免费版仅支持 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