Containerization in Posit Connect: Stable, Repeatable Deployments – No Dockerfile Required
The Posit Connect team is seeking testers for our new native containerization capability. This early access feature allows users to build container images of their deployed content. These images are reproducible, portable, and (the best part) don’t require you to write or maintain a Dockerfile. Read on to learn more about what we’re building, and if you’re interested in becoming a design partner, get in touch with us at pos.it/containers.
While Connect already supports the ability to run containers with off-host execution, the new containerization capabilities significantly extend these benefits. Connect will build images that contain not only R and/or Python, but also the content source code and its dependencies. The result is a reproducible, self-contained data-product that can run even outside of Connect.
Why it matters
This feature brings all the benefits of containerization: reproducibility, portability, and stability, all without changing how you deploy your work to Connect. We hope this will ultimately help data science teams:
- Reproduce environments for long-term reliability
- Deploy applications to other infrastructure or cloud services
- Simplify compliance and validation workflows
Users will not need to write their own Dockerfiles in order to take advantage of containerization in Connect. Instead, Connect uses custom Cloud-Native Buildpacks to generate images based on the source code itself. These buildbacks scan the contents of a Connect bundle to configure R, Python, or both, along with the content’s package dependencies. Building a container image in Connect is as simple as pushing the Containerize button for your selected bundle.

Once you confirm, Connect takes over. Behind the scenes, it uses custom Cloud-Native Buildpacks to scan your bundle’s source code and automatically configure R, Python, or both—along with all your package dependencies. That means there are no Dockerfiles to write, no build scripts to maintain.
When the image is ready, Connect pushes it to your container registry and starts using it to run your content. You’ll see the bundle marked as both “Active” and “Containerized,” but otherwise your application runs exactly as it did before.

Requirements and architecture
Containerization requires a Connect instance running with off-host execution. Containerized bundles on Connect use execution environment images as their base images, so content that runs in a given execution environment will also have the necessary system dependencies to run as a containerized application. These container images are not tied to the execution environment after they are created. However, you can delete an execution environment without affecting the container images that Connect has built. This means that containerization can enable content to continue running even on versions of Python or R that are no longer supported by Connect.
Learn more and get started
To learn more about containerization in Connect, check out Kara Woo’s talk from posit::conf(2025). This feature is still in development, and we’d love to talk with current or prospective users who are interested in building container images of their content. If you’re interested in learning more or trying out this feature, get in touch with us at pos.it/containers.