pulumi/pulumi-dotnet-6.0

By pulumi

Updated 1 day ago

Image

1.6K

Pulumi Docker images

This image is an alternative to the Pulumi docker image. The pulumi/pulumi image is quite large because it has to bundle all the SDKs that Pulumi supports:

  • Go
  • Python
  • NodeJS
  • .NET
  • Java

This container is a slimmer container for the specific SDK. It contains the pulumi binary, the pulumi language runtime for that SDK and any additional necessary language components..

Images

We build a matrix of images for differing Pulumi language SDKs and operating systems. The OS base images we use are:

  • registry.access.redhat.com/ubi9/ubi-minimal (ubi)
  • debian:12-slim (debian)

The base and debian images are available for ARM64 and AMD64 architectures, while the UBI images are only available for AMD64.

Base Image

The base image just contains the pulumi binaries and language runtimes, but not the SDK runtimes. If you use the base image, you'll have to install Go/Python/Dotnet/NodeJS yourself. The image format is:

pulumi/pulumi-base:<PULUMI_VERSION>-<OS>-<ARCH>

The default image without the OS is based on Debian AMD64, and can be used like so:

pulumi/pulumi-base:<PULUMI_VERSION>
SDK Images

Images with the SDK runtimes are generated in the following format:

pulumi/pulumi-<PULUMI_SDK>:<PULUMI_VERSION>-<OS>-<ARCH>

The default image without the OS suffix is based on Debian AMD64, and can be used like so:

pulumi/pulumi-<PULUMI_SDK>:<PULUMI_VERSION>
pulumi/pulumi-<PULUMI_SDK>:latest
Image Size

Each of the images are much smaller than the combined Pulumi container. They are in the region of approx 150-400MB (compressed size) depending on the operating system it has been built on and the dep

Operating Systems

We currently build images based on both Debian Bookworn and with the RedHat Universal Base Image/

UBI Images

The UBI images use microdnf as a package manager, not yum. See this page for more information.

Usage

To run a Pulumi command in a container, pass a bash command to the container:

docker run --rm -e "PULUMI_ACCESS_TOKEN=$PULUMI_ACCESS_TOKEN" -v $(pwd):/pulumi/projects $IMAGE bash -c "pulumi install && pulumi preview -s $STACK"

Considerations

These images do not include additional tools you might want to use when running a pulumi provider. For example, if you're using the pulumi-kubernetes with Helm, you'll need to use these images as a base image, or install the helm command as part of your CI setup.

Docker Pull Command

docker pull pulumi/pulumi-dotnet-6.0