Skip to main content

Easy container example

NGINX container example

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set aws-ts-containers
cd pulumi-examples/aws-ts-containers

Companion to the tutorial Provision containers on AWS.

Prerequisites#

To run this example, make sure Docker is installed and running.

Running the App#

Note: some values in this example will be different from run to run. These values are indicated with ***.

  1. Create a new stack:

    $ pulumi stack init containers-dev
  2. Configure Pulumi to use an AWS region that supports Fargate (you can view a list of supported regions in the AWS documentation):

    $ pulumi config set aws:region us-west-2
  3. Restore NPM modules via npm install or yarn install.

  4. Preview and deploy the app via pulumi up. The preview will take a few minutes, as it builds a Docker container. A total of 19 resources are created.

    $ pulumi up
  5. View the endpoint URL, and run curl:

    Terminal window
    pulumi stack output
    Current stack outputs (1)
    OUTPUT VALUE
    hostname http://***.elb.us-west-2.amazonaws.com
    curl $(pulumi stack output hostname)
    <html>
    <head><meta charset="UTF-8">
    <title>Hello, Pulumi!</title></head>
    <body>
    <p>Hello, S3!</p>
    <p>Made with ❤️ with <a href="https://pulumi.com">Pulumi</a></p>
    </body></html>
  6. To view the runtime logs from the container, use the pulumi logs command. To get a log stream, use pulumi logs --follow.

    $ pulumi logs --follow
    Collecting logs for stack aws-ts-containers-dev since 2018-05-22T14:25:46.000-07:00.
    2018-05-22T15:33:22.057-07:00[ pulumi-nginx] 172.31.13.248 - - [22/May/2018:22:33:22 +0000] "GET / HTTP/1.1" 200 189 "-" "curl/7.54.0" "-"

Clean up#

To clean up resources, run pulumi destroy and answer the confirmation question at the prompt.

Related

The infrastructure as code platform for any cloud.