本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
jammy, ubuntu2204, jammy-2025.09.1, ubuntu2204-2025.09.1Posit Workbench(前身为RStudio Workbench)是专业R用户和使用R与Python的数据科学团队首选的数据分析与集成开发环境。它提供专业数据科学团队在规模化运营时所需的协作、集中管理、指标监控、安全保障和商业支持能力。
Workbench的主要功能包括:
有关在组织中运行Posit Workbench的更多信息,请访问[***]
此镜像可能引入破坏性变更,因此建议:
{操作系统}标签以防止意外的版本变更过时镜像将随产品版本更新定期从DockerHub移除。请计划定期更新或使用自定义构建的镜像。
这些镜像旨在作为您需求的起点。建议创建此仓库的分支,以便在合并我们的变更时,同时保留您自己的安全扫描、基础操作系统或其他自定义修改。我们为此类情况提供了构建说明。
安全注意:这些镜像基于产品版本发布/更新时的构建环境按"原样"提供。在生产环境使用前应进行审查和更新。如果您的组织对CVE/漏洞严重级别有特定安全要求,应计划使用构建说明克隆此仓库,并根据内部安全标准重新构建这些镜像。
以下是使用产品许可证密钥在Docker中本地运行Workbench的简单示例。
# 替换为有效的许可证 export RSW_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX # 不使用持久化数据并使用默认配置运行 docker run -it \ -p 8787:8787 \ -e RSW_LICENSE=$RSW_LICENSE \ rstudio/rstudio-workbench:ubuntu2204
访问http://localhost:8787即可使用Posit Workbench。默认用户名和密码为rstudio。
请注意,运行Posit Workbench Docker镜像需要有效的Posit Workbench许可证。
此容器包含:
Posit Workbench通过/etc/rstudio目录中的配置文件进行配置。将此目录作为卷从主机挂载,容器重启后变更将生效。
可在文档中查看Posit Workbench的可能配置。
完整的服务器配置示例见workbench/conf。
为在容器重启间持久化用户文件,请将/home目录挂载到主机或Docker编排系统的持久卷。
Posit Workbench Docker镜像需要有效许可证,可通过三种方式设置:
RSW_LICENSE环境变量设置为有效的许可证密钥RSW_LICENSE_SERVER环境变量设置为有效的许可证服务器/端口/var/lib/rstudio-server/*.lic,或通过RSW_LICENSE_FILE_PATH指定包含有效Posit Workbench许可证的路径注意:离线安装需要使用浮动许可证服务器、许可证文件或手动干预的自定义镜像才能成功激活实例。
容器会自动在/var/lib/rstudio-server/*.lic查找许可证文件,并在存在时尝试使用它进行激活。以下示例使用绑定挂载从主机提供许可证文件:
docker run -it --privileged \ -p 8787:8787 \ --mount type=bind,ro,src=<许可证文件路径>,dst=/var/lib/rstudio-server/rstudio-server.lic \ rstudio/rstudio-workbench:ubuntu2204
或者,可通过RSW_LICENSE_FILE_PATH环境变量指定容器内许可证文件的路径。如果提供,容器将尝试从指定路径查找并激活许可证。
docker run -it --privileged \ -p 8787:8787 \ -e RSW_LICENSE_FILE_PATH=/opt/license.lic \ --mount type=bind,ro,src=<许可证文件路径>,dst=/opt/license.lic \ rstudio/rstudio-workbench:ubuntu2204
如果许可证文件激活失败,容器在大多数情况下将无法启动。您仍可通过对license-manager二进制文件运行status命令验证容器的许可状态:
$ docker exec -it <容器名称> /lib/rstudio-server/bin/license-manager status 检测到TTY。打印有关日志配置的信息消息。日志配置从'/etc/rstudio/logging.conf'加载。日志输出到'/var/log/rstudio/rstudio-server/license-manager.log'。 RStudio License Manager 2024.04.2+764.pro1 -- 许可证文件状态 -- 状态: 已激活 产品密钥: XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX 有密钥: 是 有试用: 否 层级: 层级名称 SKU年份: 2024 启用Launcher: 1 用户数: 0 用户活动天数: 365 Shiny用户数: 0 允许API: 1 匿名服务器: 0 无限制服务器: 0 被许可方: 公司名称 许可证文件: /var/lib/rstudio-server/rstudio-server.lic 过期时间: YYYY-MM-DD HH:mm:ss 剩余天数: XXX 许可证引擎: 1.0.0.0 许可证范围: 系统 -- 本地许可证状态 -- 试用类型: 已验证 状态: 已过期 有密钥: 否 有试用: 是 许可证范围: 系统 许可证引擎: 4.4.3.0 -- 浮动许可证状态 -- 未使用许可证服务器。
也可通过设置RSW_LICENSE环境变量使用许可证密钥激活容器:
# 替换为有效的许可证 export RSW_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX # 不使用持久化数据并使用外部配置运行 docker run -it --privileged \ -p 4242:4242 \ -e RSW_LICENSE=$RSW_LICENSE \ rstudio/rstudio-workbench:ubuntu2204
在生产环境中,如有可能,应避免使用许可证密钥激活,而优先使用许可证文件,因为当容器未正常停止时存在许可证激活泄露的风险。有关许可证密钥问题的更多详情,请参见下文的容器中产品许可的注意事项部分。
默认情况下,容器将创建测试用户,可通过环境变量RSW_TESTUSER、RSW_TESTUSER_PASSWD、RSW_TESTUSER_UID控制或禁用该用户。
如果您有目录服务(LDAP服务器、Active Directory等)用于用户配置,容器中已安装并默认启用sssd(见下文"进程管理")。要使用它,需将自定义配置文件挂载到/etc/sssd/conf.d/。例如:
sssd.conf
[sssd] config_file_version = 2 domains = LDAP [domain/LDAP] id_provider = ldap auth_provider = ldap chpass_provider = ldap sudo_provider = ldap # ... 更多配置
然后运行:
# sssd对文件权限有严格要求 chmod 600 sssd.conf docker run -it \ -p 8787:8787 -p 5559:5559 \ -v $PWD/data/rsp:/home \ -v $PWD/server-pro/conf/:/etc/rstudio \ -v $PWD/sssd.conf:/etc/sssd/conf.d/sssd.conf \ -e RSW_LICENSE=$RSW_LICENSE \ rstudio/rstudio-workbench:ubuntu2204
值得注意的是,如果使用PAM进行自定义身份验证或会话行为,可能还需要修改容器中的PAM配置文件。更多信息请参见Posit Workbench指南。
| 变量 | 描述 | 默认值 |
|---|---|---|
RSW_TESTUSER | 容器中创建的测试用户,空值表示禁用 | rstudio |
RSW_TESTUSER_PASSWD | 测试用户密码 | rstudio |
RSW_TESTUSER_UID | 测试用户UID | 10000 |
RSW_LICENSE | Posit Workbench许可证密钥,格式:XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX | 无 |
RSW_LICENSE_SERVER | 浮动许可证服务器,格式:my.url.com:port | 无 |
RSW_LAUNCHER | 是否本地使用Launcher/启动Launcher进程 | true |
RSW_LAUNCHER_TIMEOUT | 等待Launcher在预期端口开始监听的超时时间(秒),超时则启动失败 | 30 |
| 变量 | 描述 |
|---|---|
8787 | Posit Workbench默认HTTP端口 |
5559 | Posit Launcher服务器端口 |
# 替换为有效的许可证 export RSW_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX # 不使用持久化数据并使用外部配置运行 docker run -it \ -p 8787:8787 -p 5559:5559 \ -v $PWD/workbench/conf/:/etc/rstudio \ -e RSW_LICENSE=$RSW_LICENSE \ rstudio/rstudio-workbench:ubuntu2204 # 使用持久化数据并使用外部配置运行 docker run -it \ -p 8787:8787 -p 5559:5559 \ -v $PWD/data/rsw:/home \ -v $PWD/workbench/conf/:/etc/rstudio \ -e RSW_LICENSE=$RSW_LICENSE \ rstudio/rstudio-workbench:ubuntu2204
访问http://localhost:8787即可使用Posit Workbench。默认用户名和密码为rstudio。
为使Posit Workbench正常运行,需要管理多个服务。我们使用supervisord运行这些服务。supervisord是一个开源进程管理器,支持在容器中运行多个服务,并在任何服务退出时使容器退出。
注意:通常,在单个容器中运行多个服务是反模式。但在Posit Workbench能够以更容器友好的方式处理用户和其他进程之前,我们实现了以下解决方法。
各进程及其配置详情如下:
Posit Workbench:主服务器进程
/startup/basePosit Job Launcher:支持启动Jupyter、JupyterLab和VSCode会话,以及与Slurm和Kubernetes等作业调度器通信
/startup/launcher/startup/launchersssd:常用于连接LDAP目录或其他用户存储进行用户配置
.conf文件挂载到/etc/sssd/conf.d/(详见上文"用户配置")/startup/user-provisioning//startup/user-provisioning/自定义服务:是否需要在容器内运行其他服务进行用户配置或其他操作?可将其他配置文件挂载到/startup/custom,它们也将由supervisord启动和管理
initContainers或sidecar容器是更好的选择注意:本节不适用于使用许可证文件的激活。
当前在容器中使用我们的产品存在已知许可问题。如果容器未正常停止,许可证停用步骤可能失败或被跳过。未能停用许可证可能导致"许可证泄露",即产品激活被耗尽,且由于容器上的激活状态丢失,无法使用传统方法停用。
为避免"泄露"许可证,建议用户不要强制终止容器,并对docker run和docker stop命令分别使用--stop-timeout 120和--time 120。这有助于确保停用脚本有足够时间正常运行。
在某些情况下,可能难以或无法避免硬终止(如电源故障、主机严重错误)。不幸的是,这些情况仍可能导致许可证泄露激活。为帮助防止这些情况下的许可证泄露,用户可将以下目录挂载到持久存储,以保留容器重启间的许可证状态数据。产品间的这些目录不同。
/var/lib/.local/var/lib/.prof/var/lib/rstudio-workbench/var/lib/.TurboFloat请注意,这些目录中创建的文件与硬件绑定,不可在主机间转移。由于硬件指纹算法的特性,对主机或容器的任何底层更改都可能导致现有许可证状态文件失效。为避免此问题,建议在更改主机硬件/固件(如升级网卡或更新BIOS)或容器(如更改使用的网络驱动或分配的CPU核心数)前,正常关闭产品容器并允许其停用。
虽然保留许可证状态数据有助于避免重启间的许可证泄露,但不能完全保证。如果您在许可证方面遇到问题,请随时联系Posit支持。
这些解决方案虽不能完全消除问题,但有助于缓解。我们仍在研究长期解决方案。
Posit Docker Products仓库相关的许可证位于LICENSE.md。
与所有容器镜像一样,这些镜像本身也包含可能受其他许可证约束的软件(如bash、linux、系统库等,以及主要软件的任何直接或间接依赖项)。
镜像用户有责任确保对本镜像(及其任何依赖层)的使用符合镜像中包含的所有软件的相关许可证。
免费版仅支持 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