rstudio/rstudio-connectPosit Connect 是一个企业级内容发布平台,允许用户轻松部署和共享数据科学内容。该 Docker 镜像提供了 Posit Connect 的预配置环境,简化了在容器化环境中部署和管理 Posit Connect 的过程。
主要用途包括:
jammy, ubuntu2204, jammy-2025.09.1, ubuntu2204-2025.09.1此镜像可能引入破坏性变更,因此我们建议:
{operating-system} 标签以避免意外的版本升级过时的镜像将随着产品版本更新定期从 DockerHub 中移除。请计划定期更新或使用自己构建的镜像。
这些镜像旨在作为满足您需求的起点。考虑创建此仓库的分支,您可以继续合并我们所做的更改,同时拥有自己的安全扫描、基础操作系统或其他自定义更改。我们提供了构建说明用于这些情况。
安全注意:这些镜像基于产品版本发布/更新时的构建环境按"原样"提供。在生产使用前应进行审查和更新。如果您的组织对安全有特定要求,请计划使用构建说明克隆此仓库,并根据您的特定内部安全标准重建这些镜像。
Posit Connect 适用于以下场景:
适用范围包括:
此 Docker 容器是按照 Posit Connect 管理指南 构建的,有关要求和如何扩展此镜像的更多详细信息,请参阅 服务器指南/Docker。
该容器包含:
注意,运行 Posit Connect Docker 镜像需要容器使用 --privileged 标志运行,并需要有效的 Posit Connect 许可证。
重要:要使 Posit Connect 支持多个用户,您需要在
rstudio-connect.gcfg文件中定义Server.Address。为此,请使用用户访问 Connect 时将使用的 URL 更新您的配置文件,然后启动或重新启动容器。
以下是使用产品许可证密钥在 Docker 中本地运行 Connect 的简单示例:
bash# 替换为有效的许可证 export RSC_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX # 无持久数据并使用默认配置运行 docker run -it --privileged \ -p 3939:3939 \ -e RSC_LICENSE=$RSC_LICENSE \ rstudio/rstudio-connect:ubuntu2204
运行后,打开 http://localhost:3939 访问 Posit Connect。
Posit Connect 的配置在 /etc/rstudio-connect/rstudio-connect.gcfg 文件中进行,将此文件作为卷挂载到主机上的外部文件,以更改配置并重新启动容器使更改生效。
确保配置文件包含以下字段:
Server.Address 设置为用户访问 Connect 的确切 URL。默认使用占位符 http://localhost:3939Server.DataDir 设置为 /data/HTTP.Listen(或等效的 HTTP、HTTPS 或 HTTPRedirect 设置。这可能会改变您配置容器端口的方式)Python.Enabled 和 Python.Executable有关该文件的完整示例,请参见 connect/rstudio-connect.gcfg。
为了在容器重启之间持久化 Connect 元数据和应用数据,请将 Connect 的 Server.DataDir 选项配置为指向持久卷。
包含的配置文件期望来自主机机器或 Docker 编排系统的持久卷在 /data 处可用。如果您希望将其移动到不同的路径,可以更改 Server.DataDir 选项。
以下是将 Posit Connect 容器与附加到 /data 目录的绑定挂载一起运行的示例:
bashdocker run -it --privileged \ -p 3939:3939 \ -e RSC_LICENSE=$RSC_LICENSE \ --mount type=bind,src=/path/to/local/directory,dst=/data \ rstudio/rstudio-connect:ubuntu2204
使用 Posit Connect docker 镜像需要有效的许可证。您可以通过三种不同方式设置许可证:
RSC_LICENSE 环境变量设置为容器内的有效许可证密钥RSC_LICENSE_SERVER 环境变量设置为容器内的有效许可证服务器/端口/var/lib/rstudio-connect/*.lic 单个文件,其中包含 Posit Connect 的有效许可证注意:离线安装需要使用浮动许可证服务器、许可证文件或手动干预的自定义镜像才能成功激活实例。
使用许可证文件的示例
容器将自动在 /var/lib/rstudio-connect/*.lic 中查找许可证文件,如果存在,将尝试使用它进行激活。此示例使用绑定挂载从主机提供许可证文件。
bashdocker run -it --privileged \ -p 3939:3939 \ --mount type=bind,ro,src=<path to license file>,dst=/var/lib/rstudio-connect/rstudio-connect.lic \ rstudio/rstudio-connect:ubuntu2204
或者,可以使用 RSC_LICENSE_FILE_PATH 环境变量提供容器中许可证文件的路径。如果提供,容器将尝试从给定路径的文件中查找并激活。
bashdocker run -it --privileged \ -p 3939:3939 \ -e RSC_LICENSE_FILE_PATH=/opt/license.lic \ --mount type=bind,ro,src=<path to license file>,dst=/opt/license.lic \ rstudio/rstudio-connect:ubuntu2204
如果许可证文件未能成功激活,容器在大多数情况下将无法启动。您仍然可以通过对 license-manager 二进制文件运行 status 命令来验证容器的许可状态。
bash$ docker exec -it <container name> /opt/rstudio-connect/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 2025.09.1+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: /var/lib/rstudio-connect/rstudio-connect.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.
使用许可证密钥的示例
也可以通过设置 RSC_LICENSE 环境变量使用许可证密钥激活容器。
bash# 替换为有效的许可证 export RSC_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX # 无持久数据并使用外部配置运行 docker run -it --privileged \ -p 3939:3939 \ -e RSC_LICENSE=$RSC_LICENSE \ rstudio/rstudio-connect:ubuntu2204
如果可能,生产环境中应避免使用许可证密钥激活,而应使用许可证文件,因为当容器未正常停止时,存在许可证激活泄露的风险。有关许可证密钥问题的更多详细信息,请参阅下面的容器中产品许可的注意事项部分。
以下是使用 Docker Compose 部署 Posit Connect 的示例配置:
yamlversion: '3.8' services: rstudio-connect: image: rstudio/rstudio-connect:ubuntu2204 container_name: rstudio-connect privileged: true ports: - "3939:3939" environment: - RSC_LICENSE=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX volumes: - ./data:/data - ./config/rstudio-connect.gcfg:/etc/rstudio-connect/rstudio-connect.gcfg restart: unless-stopped stop_grace_period: 2m
| 变量名 | 描述 | 默认值 |
|---|---|---|
RSC_LICENSE | Posit Connect 的许可证密钥,格式应为:XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX | 无 |
RSC_LICENSE_SERVER | 浮动许可证服务器,格式应为:my.url.com:port | 无 |
| 变量 | 描述 |
|---|---|
| 3939 | Posit Connect 的默认 HTTP 端口 |
注意:本节不适用于使用许可证文件的激活。
在容器中使用我们的产品时,目前存在一个已知的许可错误。如果容器未正常停止,许可证停用步骤可能会失败或被跳过。未能停用许可证可能导致"许可证泄露",即产品激活被耗尽,并且由于容器上的激活状态已丢失,无法使用传统方法停用。
为避免"泄露"许可证,我们建议用户不要强制终止容器,并对 docker run 和 docker stop 命令分别使用 --stop-timeout 120 和 --time 120。这有助于确保停用脚本有足够的时间正常运行。
在某些情况下,可能难以或无法避免硬终止(例如,电源故障、主机上的严重错误)。不幸的是,这些情况中的任何一种都可能导致许可证泄露激活。为了帮助防止这些情况下的许可证泄露,用户可以将以下目录挂载到持久存储,以保留许可证状态数据供容器重启时使用。这些目录因产品而异。
/var/lib/.local/var/lib/.prof/var/lib/rstudio-connect/var/lib/.TurboFloat请注意,在这些目录中创建的文件是硬件锁定的,不能在主机之间传输。由于硬件指纹算法的特性,对主机或容器的任何低级更改都可能导致现有许可证状态文件失效。为避免此问题,我们建议在更改主机上的任何硬件或固件(例如,升级网卡或更新 BIOS)或容器(例如,更改使用的网络驱动程序或分配的 CPU 核心数)之前,正常关闭产品容器并允许其停用。
虽然保留许可证状态数据可以帮助避免重启时的许可证泄露,但这并不能保证。如果您在许可证方面遇到问题,请随时联系 Posit 支持。
虽然这些解决方案都不能完全消除问题,但它们应该有助于缓解问题。我们仍在研究长期解决方案。
与 Posit Docker Products 仓库相关的许可位于LICENSE.md中。
与所有容器镜像一样,镜像本身还包含可能受其他许可约束的其他软件(即 bash、linux、系统库等,以及包含的主要软件的任何其他直接或间接依赖项)。
镜像用户有责任确保使用此镜像(及其任何依赖层)符合镜像中包含的软件的所有相关许可。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务