
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Rocker Shiny + Tidyverse 镜像是基于 Rocker 项目 的版本稳定镜像构建,集成了 Shiny 服务器和 Tidyverse 数据科学生态系统。该镜像旨在为数据科学家、分析师和开发者提供开箱即用的环境,快速部署基于 R Shiny 的交互式 Web 应用,同时支持数据处理、可视化和统计分析等任务。
dplyr(数据操作)、ggplot2(数据可视化)tidyr(数据清洗)、readr(数据读取)purrr(函数式编程)、tibble(增强数据框)等versioned2 系列,采用固定版本标签(如 4.3.0),确保 R 环境、Shiny 及依赖包版本一致性,避免生产环境依赖冲突。apt 管理系统级依赖。通过 Docker Hub 拉取最新稳定版(标签规则参考 Rocker 版本文档):
bashdocker pull rocker/shiny-verse:latest
注:
shiny-verse是 Rocker 项目中集成 Shiny 和 Tidyverse 的标准镜像标签,对应本镜像描述的功能。
1. 基本运行(默认应用)
启动容器并映射 Shiny 默认端口(3838):
bashdocker run -d -p 3838:3838 --name shiny-app rocker/shiny-verse:latest
访问 http://localhost:3838 即可打开 Shiny 欢迎页面。
2. 挂载本地 Shiny 应用
将本地应用目录(如 ./my-shiny-app)挂载到容器,运行自定义应用:
bashdocker run -d -p 3838:3838 \ -v $(pwd)/my-shiny-app:/srv/shiny-server/ \ --name my-shiny-app \ rocker/shiny-verse:latest
说明:容器内 Shiny 服务器默认从
/srv/shiny-server/加载应用,需确保本地目录包含app.R或server.R+ui.R文件。
3. 自定义端口与数据持久化
指定主机端口(如 8080),并挂载数据卷持久化应用数据:
bashdocker run -d -p 8080:3838 \ -v $(pwd)/my-shiny-app:/srv/shiny-server/ \ -v shiny-data:/srv/shiny-server/data \ # 命名卷存储应用数据 --name shiny-app-custom \ rocker/shiny-verse:latest
创建 docker-compose.yml 定义完整服务(含配置、数据卷、时区等):
yamlversion: '3.8' services: shiny-app: image: rocker/shiny-verse:latest container_name: shiny-app restart: always # 容器退出后自动重启 ports: - "3838:3838" volumes: - ./my-shiny-app:/srv/shiny-server/ # 本地应用目录 - shiny-data:/srv/shiny-server/data # 数据持久化卷 - ./shiny-server.conf:/etc/shiny-server/shiny-server.conf # 自定义 Shiny 配置 environment: - TZ=Asia/Shanghai # 设置时区为上海 - R_ENVIRON_USER=/srv/shiny-server/.Renviron # 加载应用级环境变量 volumes: shiny-data: # 命名卷(自动创建,数据持久化)
启动服务:
bashdocker-compose up -d
| 参数/路径 | 说明 |
|---|---|
| 容器内端口 | 3838(Shiny Server 监听端口,需通过 -p 映射到主机) |
| 应用根目录 | /srv/shiny-server/(本地应用需挂载至此路径) |
| Shiny 配置文件 | /etc/shiny-server/shiny-server.conf(可挂载自定义配置) |
| 系统级 R 包路径 | /usr/local/lib/R/site-library(适合全局安装) |
| 用户级 R 包路径 | ~/.local/share/R/site-library(适合非 root 用户安装) |
| 环境变量名 | 说明 | 默认值/示例 |
|---|---|---|
TZ | 容器时区设置(避免日志时间偏移) | UTC(建议设置为 Asia/Shanghai) |
R_LIBS_USER | 自定义用户级 R 包路径 | ~/.local/share/R/site-library |
R_ENVIRON_USER | 应用级 R 环境变量文件(如存储 API 密钥、数据库连接信息) | /srv/shiny-server/.Renviron |
SHINY_LOG_LEVEL | Shiny 日志级别(INFO/WARN/ERROR) | INFO |
临时安装:容器运行中通过终端执行:
bashdocker exec -it shiny-app R -e "install.packages('plotly', dependencies=TRUE)"
构建自定义镜像:通过 Dockerfile 预安装依赖:
dockerfileFROM rocker/shiny-verse:latest # 安装系统依赖(如需) RUN apt-get update && apt-get install -y libssl-dev libcurl4-openssl-dev # 安装 R 包 RUN R -e "install.packages(c('plotly', 'DT'), dependencies=TRUE)"
通过挂载 shiny-server.conf 调整服务器行为(如访问控制、超时设置),示例配置:
conf# /etc/shiny-server/shiny-server.conf run_as shiny; # 运行用户 server { listen 3838; location / { site_dir /srv/shiny-server; # 应用目录 log_dir /var/log/shiny-server; # 日志目录 directory_index on; # 启用目录浏览(无 app.R 时显示文件列表) app_init_timeout 60; # 应用初始化超时(秒) app_idle_timeout 120; # 应用闲置超时(秒) } }
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务