pulumi/pulumi

By pulumi

Updated 4 days ago

The Pulumi CLI, in a Docker container.

Image

1M+

Pulumi

Pulumi is an open-source platform for building and deploying cloud infrastructure and applications in your favorite language, on any cloud. Learn more about Pulumi at pulumi.com.

This container packages the Pulumi CLI.

The source code for this image is available at https://github.com/pulumi/pulumi-docker-containers/blob/main/docker/pulumi/Dockerfile.

Using This Container

The container's default entrypoint is the pulumi executable, but you'll usually want to provide additional command-line arguments in order to perform useful work, like:

  • Environment variables, including a PULUMI_ACCESS_TOKEN and credentials for your cloud provider of choice (e.g., AWS_ACCESS_KEY_ID).
  • A mapping of the folder containing your Pulumi program into a folder in the container
  • An entrypoint specifying whatever setup work should be performed before invoking pulumi, such as installing Node or Python dependencies.

For example, to run pulumi preview on a JavaScript or TypeScript project targeting AWS:

docker run -it \
    -e PULUMI_ACCESS_TOKEN \
    -e AWS_ACCESS_KEY_ID \
    -e AWS_SECRET_ACCESS_KEY \
    -e AWS_REGION \
    -w /app \
    -v $(pwd):/app \
    --entrypoint bash \
    pulumi/pulumi \
    -c "npm install && pulumi preview --stack dev --non-interactive"

Or similarly, for a Python project:

docker run -it \
    -e PULUMI_ACCESS_TOKEN \
    -e AWS_ACCESS_KEY_ID \
    -e AWS_SECRET_ACCESS_KEY \
    -e AWS_REGION \
    -w /app \
    -v $(pwd):/app \
    --entrypoint bash \
    pulumi/pulumi \
    -c "pip install -r requirements.txt && pulumi preview --stack dev --non-interactive"

Using a Specific Version of Pulumi

By default, the latest tag is aliased to the most recently uploaded image, and tags correspond with releases of the Pulumi CLI.

docker run -it pulumi/pulumi:latest version
v0.17.28

If you'd like to target a specific version of the Pulumi CLI, simply reference it by tag:

docker run -it pulumi/pulumi:v0.17.27 version
v0.17.27

See the Pulumi docs for help getting started and using Pulumi.

Docker Pull Command

docker pull pulumi/pulumi