本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
jammy, ubuntu2204, jammy-2025.04.2, ubuntu2204-2025.04.2Posit Package Manager(前身为 RStudio Package Manager)是一个仓库管理服务器,用于在团队、部门或整个组织中组织和集中管理 R 包。它提供 CRAN 的离线访问、自动化 CRAN 同步、共享本地包、限制包访问、跨仓库查找包等功能。为使用 R 的团队提供可靠且一致的包管理体验。
此镜像可能引入破坏性变更,因此我们建议:
{操作系统} 标签,以避免意外的版本变更过时的镜像将随着产品版本更新定期从 DockerHub 中移除。请计划定期更新或使用自己构建的镜像。
这些镜像旨在作为满足您需求的起点。建议创建此仓库的分支,以便在合并我们所做更改的同时,进行自己的安全扫描、使用基础操作系统或其他自定义更改。我们提供了构建说明用于这些情况。
Package Manager 镜像默认使用此处文档中所述的 No Sandbox 选项,如果您需要为与 Git 相关的包构建配置更安全的选项,我们建议使用启用了沙箱的系统。
安全注意: 这些镜像是基于产品版本发布/更新时的构建环境按原样提供的。在生产使用前应进行审查和更新。如果您的组织对 CVE/漏洞严重性级别有特定的安全要求,您应计划使用构建说明克隆此仓库,并根据您特定的内部安全标准重建这些镜像。
以下是使用产品许可证密钥在 Docker 中本地运行 Package Manager 的简单示例:
# 替换为有效的许可证 export RSPM_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX # 不使用持久化数据并使用默认配置运行 docker run -it \ -p 4242:4242 \ -e RSPM_LICENSE=$RSPM_LICENSE \ rstudio/rstudio-package-manager:ubuntu2204
打开 http://localhost:4242 访问 Posit Package Manager UI。
运行 Posit Package Manager Docker 镜像需要有效的 Posit Package Manager 许可证。
此容器包含:
注意:Package Manager 目前对 R 版本不是很挑剔。很少需要更改 R 版本。
Posit Package Manager 通过 /etc/rstudio-pm/rstudio-pm.gcfg 文件进行配置。您应该将此文件作为卷从主机挂载。重启容器后更改将生效。
确保配置文件已配置 HTTP.Listen 字段。完整的示例配置文件可在 package-manager/rstudio-pm.gcfg 查看。
为了在容器重启之间持久化 Package Manager 数据,需将 Server.DataDir 选项配置为指向持久卷。包含的配置文件期望主机机器或 Docker 编排系统提供的持久卷在 /var/lib/rstudio-pm 可用。如果您希望将其移动到不同的路径,可以更改 Server.DataDir 选项。
[Server] DataDir = /mnt/rspm/data
使用容器需要有效的 Posit Package Manager 许可证。您可以通过三种不同方式设置许可证:
RSPM_LICENSE 环境变量设置为有效的许可证密钥RSPM_LICENSE_SERVER 环境变量设置为有效的许可证服务器/端口/var/lib/rstudio-pm/*.lic 或使用 RSPM_LICENSE_FILE_PATH 指定的其他路径注意: 离线安装需要使用浮动许可证服务器、许可证文件或手动干预激活实例的自定义镜像。
容器将自动在 /var/lib/rstudio-pm/*.lic 或 /home/rstudio-pm/.rstudio-pm/*.lic 查找许可证文件,如果存在,将尝试使用它进行激活。此示例使用绑定挂载从主机提供许可证文件。
docker run -it --privileged \ -p 4242:4242 \ --mount type=bind,ro,src=<许可证文件路径>,dst=/var/lib/rstudio-pm/rstudio-pm.lic \ rstudio/rstudio-package-manager:ubuntu2204
或者,可以使用 RSPM_LICENSE_FILE_PATH 环境变量提供容器中许可证文件的路径。如果提供,容器将尝试从给定路径查找并激活许可证。
docker run -it --privileged \ -p 4242:4242 \ -e RSPM_LICENSE_FILE_PATH=/opt/license.lic \ --mount type=bind,ro,src=<许可证文件路径>,dst=/opt/license.lic \ rstudio/rstudio-package-manager:ubuntu2204
如果许可证文件未能成功激活,容器在大多数情况下将无法启动。您仍然可以通过对 license-manager 二进制文件运行 status 命令来验证容器的许可状态。
根据提供许可证文件的方式,License-File 字段可能是 /var/lib/rstudio-pm/*.lic 或 /home/rstudio-pm/.rstudio-pm/*.lic。只要 Status 字段显示 Activated,任一路径都应该有效。
$ docker exec -it <容器名称> /opt/rstudio-pm/bin/license-manager status TTY detected. Printing informational message about logging configuration. Logging configuration loaded from '/etc/rstudio/logging.conf'. Logging to '/var/log/rstudio/rstudio-server/license-manager.log'. RStudio License Manager 2024.04.2+764.pro1 -- License file status -- Status: Activated Product-Key: XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX Has-Key: Yes Has-Trial: No Tier: Tier Name SKU-Year: 2024 Enable-Launcher: 1 Users: 0 User-Activity-Days: 365 Shiny-Users: 0 Allow-APIs: 1 Anonymous-Servers: 0 Unrestricted-Servers: 0 Licensee: Company Name License-File: /home/rstudio-pm/.rstudio-pm/rstudio-pm.lic Expiration: YYYY-MM-DD HH:mm:ss Days-Left: XXX License-Engine: 1.0.0.0 License-Scope: System -- Local license status -- Trial-Type: Verified Status: Expired Has-Key: No Has-Trial: Yes License-Scope: System License-Engine: 4.4.3.0 -- Floating license status -- License server not in use.
也可以通过设置 RSPM_LICENSE 环境变量使用许可证密钥激活容器。
# 替换为有效的许可证 export RSPM_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX # 不使用持久化数据并使用外部配置运行 docker run -it --privileged \ -p 4242:4242 \ -e RSPM_LICENSE=$RSPM_LICENSE \ rstudio/rstudio-package-manager:ubuntu2204
如果可能,生产环境应避免使用许可证密钥激活,而应使用许可证文件,因为当容器未正常停止时,存在许可证激活泄露的风险。有关许可证密钥问题的更多详细信息,请参见下面的容器中产品许可的注意事项部分。
| 变量名 | 描述 | 默认值 |
|---|---|---|
RSPM_LICENSE | Posit Package Manager 的许可证密钥,格式应为:XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX | 无 |
RSPM_LICENSE_SERVER | 浮动许可证服务器,格式应为:my.url.com:port | 无 |
| 变量 | 描述 |
|---|---|
4242 | Posit Package Manager 的默认 HTTP 端口 |
# 替换为有效的许可证 export RSPM_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX # 不使用持久化数据并使用外部配置运行 docker run -it \ -p 4242:4242 \ -v $PWD/package-manager/rstudio-pm.gcfg:/etc/rstudio-pm/rstudio-pm.gcfg \ -e RSPM_LICENSE=$RSPM_LICENSE \ rstudio/rstudio-package-manager:ubuntu2204
# 替换为有效的许可证 export RSPM_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX # 使用持久化数据和外部配置运行 docker run -it \ -p 4242:4242 \ -v $PWD/data/rspm:/var/lib/rstudio-pm \ -v $PWD/package-manager/rstudio-pm.gcfg:/etc/rstudio-pm/rstudio-pm.gcfg \ -e RSPM_LICENSE=$RSPM_LICENSE \ rstudio/rstudio-package-manager:ubuntu2204
打开 http://localhost:4242 访问 Posit Package Manager UI。
要创建仓库,您需要直接访问容器并执行一些命令。为此,请使用 docker ps 找到 RSPM 的容器 ID 并运行:
docker exec -it {container-id} /bin/bash
以下是添加本地包的完整示例:
在主机系统上创建包 tarball,例如 data/pwb/rstudio/demo1_0.1.0.tar.gz
使用 docker cp 将 tarball 复制到容器的 /tmp 目录:
# 查找运行中的 package-manager 容器的容器 ID docker ps # 替换 b8ae944b7f2d 为您的容器 ID docker cp data/pwb/rstudio/demo1_0.1.0.tar.gz b8ae944b7f2d:/tmp
root@1b6f4f5fc669:/# rspm create source --name=demopkgs Source 'demopkgs': Type: Local root@1b6f4f5fc669:/# rspm add --source=demopkgs --path='/tmp/demo1_0.1.0.tar.gz' Added package '/tmp/demo1_0.1.0.tar.gz'. root@1b6f4f5fc669:/# rspm create repo --name=demopkgs --description="demo package repo" Repository: demopkgs - demo package repo - R root@1b6f4f5fc669:/# rspm subscribe --repo=demopkgs --source=demopkgs Repository: demopkgs Sources: --demopkgs (Local)
> install.packages("demo1", repos = "http://localhost:4242/demopkgs/latest") Installing package into ‘/home/rstudio/R/x86_64-pc-linux-gnu-library/3.6’ (as ‘lib’ is unspecified) trying URL 'http://localhost:4242/demopkgs/latest/src/contrib/demo1_0.1.0.tar.gz' Content type 'application/x-gzip' length 859 bytes ================================================== downloaded 859 bytes * installing *source* package ‘demo1’ ... ** using staged installation ** R ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded from temporary location ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (demo1) The downloaded source packages are in ‘/tmp/RtmpRVTKFG/downloaded_packages’
创建 docker-compose.yml 文件:
version: '3.8' services: rspm: image: rstudio/rstudio-package-manager:ubuntu2204 container_name: rspm restart: unless-stopped ports: - "4242:4242" environment: - RSPM_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX volumes: - ./package-manager/rstudio-pm.gcfg:/etc/rstudio-pm/rstudio-pm.gcfg - rspm_data:/var/lib/rstudio-pm stop_grace_period: 2m volumes: rspm_data:
使用以下命令启动服务:
docker-compose up -d
注意:本节不适用于使用许可证文件的激活。
当前在容器中使用我们的产品存在一个已知的许可问题。如果容器未被正常停止,许可证停用步骤可能会失败或被跳过。未能停用许可证可能导致"许可证泄露",即产品激活被耗尽,且无法使用传统方法停用,因为容器中的激活状态已丢失。
为避免"泄露"许可证,我们建议用户不要强制终止容器,并对 docker run 和 docker stop 命令分别使用 --stop-timeout 120 和 --time 120。这有助于确保停用脚本有足够的时间正常运行。
在某些情况下,可能难以或无法避免硬终止(例如,电源故障、主机上的严重错误)。不幸的是,这些情况中的任何一种都可能导致许可证泄露激活。为了帮助防止这些情况下的许可证泄露,用户可以将以下目录挂载到持久存储,以在容器重启时保留许可证状态数据。这些目录因产品而异。
/home/rstudio-pm/.local/home/rstudio-pm/.prof/home/rstudio-pm/.rstudio-pm/home/rstudio-pm/.TurboFloat请注意,这些目录中创建的文件是硬件锁定的,不能在主机之间传输。由于硬件指纹算法的特性,对主机或容器的任何低级更改都可能导致现有许可证状态文件失效。为避免此问题,我们建议在更改主机上的任何硬件或固件(例如,升级网卡或更新 BIOS)或容器(例如,更改使用的网络驱动程序或分配的 CPU 核心数)之前,优雅地关闭产品容器并允许其停用。
虽然保留许可证状态数据可以帮助避免重启时的许可证泄露,但这并不能保证。如果您在许可证方面遇到问题,请随时联系 Posit 支持。
虽然这些解决方案都不能完全消除问题,但它们应该有助于缓解问题。我们仍


免费版仅支持 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