
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本项目包含INWT项目的Docker配置,展示了将R应用部署到生产环境的最佳实践。基于rocker项目构建(感谢rocker团队的出色工作),提供多种预配置镜像,适用于R应用开发与部署。镜像托管于:
通过以下命令拉取并启动镜像:
docker pull inwt/r-base:3.4.4 docker run -it inwt/r-base:3.4.4
R功能强大但缺乏标准化部署模型。与Java通过JVM抽象操作系统不同,R应用部署常受运行环境影响。Docker提供一致的运行时环境,将R应用打包为可分发单元,实现跨系统部署。
容器特性:
Docker镜像通过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以避免覆盖预配置的CRAN仓库和库路径,然后安装R包)CMD:容器默认启动命令(此处通过Rscript执行脚本)更多配置选项参见Dockerfile参考文档,建议遵循Dockerfile最佳实践。
.dockerignore用于排除构建非必需文件,类似.Rbuildignore或.gitignore,减小构建上下文大小。示例:
lib* deps largeFile.csv
详细说明参见.dockerignore文档。
构建镜像并启动容器
本地开发的推荐命令:
docker build --pull -t tmp <Dockerfile路径> && docker run --rm -it --network host tmp
详细参数说明:
docker build \ --pull \ # 拉取FROM中镜像的最新版本 -t tmp \ # 为镜像指定标签"tmp" <Dockerfile路径> \ # 例如"."(当前目录) && docker run \ --rm \ # 容器运行完成后自动删除 -it \ # 交互式会话,可进入控制台 --network host \ # 容器使用主机网络(IP与主机一致) tmp # 镜像名称(对应标签)
上述命令将构建镜像并执行Dockerfile中CMD定义的默认命令。
常用命令参考
docker ps # 显示所有运行中的容器 docker logs <container> # 查看容器输出日志 docker attach <container> # 连接到运行中的容器 docker run -it --rm <image> bash # 在容器中启动bash(构建失败时调试常用) docker exec -i -t <container> /bin/bash # 在已运行容器中打开新bash终端
docker build -t example-app ./examples/app docker run --rm -p 3838:3838 example-app # 映射3838端口 docker run --rm --network host example-app # 使用主机网络
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 # 带参数执行脚本
无需本地Dockerfile(但使用本地Dockerfile更稳定),可直接将容器作为运行时环境执行R CMD check。通过-v挂载目录(授予写权限):
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
(原文未提供详细内容,此处保留结构)
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务