Skip to main content

Search the Dev Center

Search tutorials, templates, examples, and more.

Azure App Service running Docker containers on Linux

Creates Azure App Service and Deploys Docker images to it

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 azure-go-appservice-docker
cd pulumi-examples/azure-go-appservice-docker

Starting point for building a web application hosted in Azure App Service from Docker images.

The example shows two scenarios:

  • Deploying an existing image from Docker Hub
  • Deploying a new custom registry in Azure Container Registry, building a custom Docker image, and running the image from the custom registry

Prerequisites#

  1. Install Pulumi
  2. Configure Azure credentials
  3. Install Go

Deploying the example#

  1. Create a new stack:

    Terminal window
    pulumi stack init dev
  2. Log in to the Azure CLI (you will be prompted to do this during deployment if you forget this step):

    Terminal window
    az login
  3. Set the Azure region location to use:

    Terminal window
    pulumi config set azure-native:location westus2
  4. Install dependencies:

    Terminal window
    go mod download
  5. Run pulumi up to preview and deploy changes:

    Terminal window
    pulumi up
    Previewing changes:
    ...
    Performing changes:
    ...
    Resources:
    + 8 created
    Duration: 56s
  6. Check the deployed website endpoints:

    Terminal window
    pulumi stack output helloEndpoint
    curl "$(pulumi stack output helloEndpoint)"
    https://helloappecc2f992.azurewebsites.net
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
    html { color-scheme: light dark; }
    body { width: 35em; margin: 0 auto;
    font-family: Tahoma, Verdana, Arial, sans-serif; }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>
    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br/>
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>
    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>
    Terminal window
    pulumi stack output getStartedEndpoint
    curl "$(pulumi stack output getStartedEndpoint)"
    http://get-started-15da13.azurewebsites.net
    <html>
    <body>
    <h1>Your custom docker image is running in Azure App Service!</h1>
    </body>
    </html>

Cleaning up#

Once you are done, you can destroy all of the resources, and the stack:

Terminal window
pulumi destroy
pulumi stack rm

Related

The infrastructure as code platform for any cloud.