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

本Docker镜像专为调试R语言程序的内存问题设计,集成了编译好的R环境(含调试支持)及一系列内存调试工具。主要用途包括诊断R脚本或R包中的内存泄漏、内存溢出、内存访问错误等问题,帮助开发者定位并解决R程序运行时的内存相关故障。
latest对应最新稳定版)gdb(GNU调试器)、lldb(LLVM调试器)valgrind(含memcheck内存泄漏检测器)、massif(内存使用分析器)Rprofmem(R内存使用分析)、profvis(R内存可视化工具)devtools、roxygen2),支持R包源码调试libcurl-dev、libssl-dev),避免调试过程中依赖缺失从Docker Hub或GitHub Container Registry拉取镜像(具体地址需参考GitHub仓库):
docker pull wch/r-debug:latest # 拉取最新版本 # 或指定R版本标签(如支持) docker pull wch/r-debug:r4.3.0
docker run -it --rm \ -v $(pwd):/workspace \ # 挂载本地目录到容器内/workspace -w /workspace \ # 设置工作目录为/workspace --name r-debug-container \ wch/r-debug:latest
-it:交互式终端模式,支持命令行操作--rm:容器退出后自动删除,避免残留-v:挂载本地目录,方便调试本地R脚本或包源码启动R调试环境:
R # 直接启动R(含调试符号) # 或启动带内存追踪的R R -d valgrind --vanilla # 使用valgrind追踪内存操作
使用valgrind调试R脚本:
valgrind --leak-check=full Rscript your_script.R # 检测脚本内存泄漏
使用gdb调试R进程:
gdb --args Rscript your_script.R # 对脚本启动gdb调试
容器支持通过环境变量自定义调试行为:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
R_DEBUG | 启用R调试模式(1=启用,0=禁用) | 1 |
WORKSPACE | 容器内工作目录 | /workspace |
VALGRIND_OPTS | valgrind默认参数(如--leak-check=full) | --leak-check=summary |
R_PROFILE | 加载自定义R配置文件路径(需挂载到容器) | 空(使用默认配置) |
假设本地./my_r_package目录为待调试的R包源码,启动容器并调试:
docker run -it --rm \ -v $(pwd)/my_r_package:/workspace \ -w /workspace \ -e VALGRIND_OPTS="--leak-check=full --show-leak-kinds=all" \ wch/r-debug:latest \ valgrind R CMD check . # 使用valgrind检查R包内存问题
创建docker-compose.yml文件,定义调试环境:
version: '3' services: r-debug: image: wch/r-debug:latest volumes: - ./scripts:/workspace/scripts # 挂载本地脚本目录 - ./packages:/workspace/packages # 挂载R包源码目录 working_dir: /workspace environment: - R_DEBUG=1 - VALGRIND_OPTS=--leak-check=full tty: true # 保持终端连接 stdin_open: true # 开启标准输入
启动服务:
docker-compose up -d # 后台启动 docker-compose exec r-debug bash # 进入容器终端
Rprofmem初步定位问题范围R CMD INSTALL --with-keep.source .)以保留调试符号免费版仅支持 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