专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

inwt/r-batch Docker 镜像 - 轩辕镜像

r-batch
inwt/r-batch
自动构建
用于以批处理模式运行R应用程序的基础镜像
0 次下载activeinwt镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

R应用程序容器

本项目包含INWT项目的配置。如果您未与我们合作,可参考我们将R应用程序部署到生产环境的最佳实践。若您需要为自己的应用程序构建干净的Docker容器,请勿从此处开始:建议访问[***]

本项目的容器可在以下位置获取:

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

主要镜像

r-ver-ubuntu
  • 基于Ubuntu系统
  • 包含特定版本的R及固定的MRAN
  • 基于rocker r-ver项目构建
r-base
  • 基于r-ver-ubuntu构建
  • 包含基本构建工具
  • 添加INWT网络设置:证书和R仓库
r-batch
  • 基于r-base构建
  • 添加数据库连接器(MySQL)
  • 包含建模基础包(lme4、mgcv、gbm)
  • 包含数据处理包(data.table、dplyr、tidyr)
  • 包含自制和开源包(dbtools、mctools)
r-shiny
  • 基于r-batch构建
  • 添加shiny相关包(shiny、shinyjs等)

通过以下命令启动镜像:

bash
docker pull inwt/r-base:3.4.4
docker run -it inwt/r-base:3.4.4

为何使用Docker

R功能强大但缺乏标准化部署模型。Java通过JVM抽象操作系统差异,可将应用编译为可分发单元(jar)并在任何支持JVM的操作系统上运行。我们希望为R应用提供类似的分发模型:一个可执行、可测试的单元,能部署到客户环境或内部机器。

R本身稳定且跨平台,我们多年来在生产环境中无Docker也能使用R。但客户IT支持的特定操作系统选择和版本限制使我们意识到,控制应用程序的运行时环境能显著提升稳定性。

生产环境中,镜像构建后即成为"静态"单元,不会拉取更新或受代码库、包变化影响。容器应"无状态":每个容器实例在完成单次运行后即被删除(如shiny应用会话结束或分析完成时)。每次运行应完全独立,且绝不在容器内部存储数据。

操作指南:Dockerfile与.dockerignore

Dockerfile

Docker镜像基于Dockerfile构建,该文件包含构建过程中执行的所有命令。我们通常基于上述预定义镜像构建,而非从零开始。以下是一个典型的Dockerfile示例:

dockerfile
FROM inwt/r-batch:3.4.4

ADD . .
RUN rm -vf .Rprofile && \
  installPackage

CMD ["Rscript", "inst/R_Code/someScript.R"]
  • FROM:指定基础镜像
  • ADD:将文件和目录复制到镜像文件系统
  • RUN:执行命令(此处删除.Rprofile并安装R包,installPackage为预定义函数)
  • CMD:设置容器默认行为(此处通过Rscript调用脚本)

删除.Rprofile是因为它可能覆盖容器内预配置的CRAN仓库和库路径。

更多Dockerfile指令可参考官方文档,建议同时阅读Dockerfile最佳实践。

.dockerignore

.dockerignore用于显式排除构建非必需文件,类似.Rbuildignore或.gitignore。Docker构建的第一步是将"构建上下文"复制到镜像,上下文应尽可能小以减少传输开销。详见.dockerignore文档。

示例:

lib*
deps
largeFile.csv
构建与运行容器

使用容器需完成两步:构建镜像和启动容器。

本地开发的推荐默认命令:

bash
docker build --pull -t tmp <Dockerfile路径> && docker run --rm -it --network host tmp

详细参数说明:

bash
docker build \
    --pull \               # 尝试拉取FROM指令中镜像的新版本
    -t tmp \               # 为镜像指定标签"tmp"
    <Dockerfile路径> \     # 如"."表示当前目录
  && docker run \
    --rm \                 # 运行完成后删除容器
    -it \                  # 交互式会话,可保留在控制台中
    --network host \       # 使容器进程与主机共享IP
    tmp                    # 镜像名称(引用上述标签)

这些命令将构建镜像并执行Dockerfile中CMD定义的命令。

常用命令参考
bash
docker ps                                # 显示所有运行中的容器
docker logs <container>                  # 查看容器输出日志
docker attach <container>                # 连接到运行中的容器
docker run -it --rm <image> bash         # 在容器中启动bash(构建失败时非常有用!)
docker exec -i -t <container> /bin/bash  # 在已运行的容器中打开新的bash终端

使用场景

运行shiny应用
bash
docker build -t example-app ./examples/app
docker run --rm -p 3838:3838 example-app  # 映射端口
docker run --rm --network host example-app # 共享主机网络
批处理模式运行R任务
bash
docker build -t example-batch ./examples/batch
docker run --rm example-batch                  # 运行默认命令
docker run --rm example-batch Rscript main.R   # 运行指定脚本
docker run --rm example-batch Rscript main.R arg1 arg2  # 带参数运行脚本
生产环境应用调试
在不同环境和包版本下运行测试与R CMD检查

无需本地Dockerfile(但使用本地Dockerfile更稳定)。可将容器作为运行时环境,执行R CMD check .。-v参数用于挂载目录(卷),$PWD为当前目录,/app为容器内的工作目录。注意-v会授予写入权限!

bash
cd /path/to/your/package
docker run --rm -v $PWD:/app --user `id -u`:`id -g` inwt/r-batch:3.4.4 check
docker run --rm -v $PWD:/app --user `id -u`:`id -g` inwt/r-batch:3.5.1 check
报告
查看更多 r-batch 相关镜像 →
jlesage/mkv-muxing-batch-gui logo
jlesage/mkv-muxing-batch-gui
by jlesage
MKV Muxing Batch GUI的Docker容器,提供Web图形界面,用于合并视频与字幕、音频、章节及附件,支持多种配置选项,无需客户端安装,通过浏览器即可访问。
10K+ pulls
上次更新:8 天前
mosipid/pre-registration-batchjob logo
mosipid/pre-registration-batchjob
by MOSIP
暂无描述
100K+ pulls
上次更新:20 天前
mosipdev/pre-registration-batchjob logo
mosipdev/pre-registration-batchjob
by MOSIP
暂无描述
10K+ pulls
上次更新:19 天前
cccs/assemblyline-service-batchdeobfuscator logo
cccs/assemblyline-service-batchdeobfuscator
by Canadian Centre for Cyber Security
Assemblyline 4平台的批量反混淆服务组件,用于对样本进行批量反混淆处理。
500K+ pulls
上次更新:23 天前

轩辕镜像配置手册

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

登录仓库拉取

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

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

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的头像

oldzhang

运维工程师

Linux服务器

5

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

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

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

官方QQ群: 13763429