Skip to main content

Azure App Service Running Docker Containers on Linux

Creates Azure App Service and Deploys Docker images to

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

Running the App#

  1. Create a new stack:

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

    Terminal window
    az login
  3. Create a Python virtualenv, activate it, and install dependencies:

    This installs the dependent packages needed for our Pulumi program.

    Terminal window
    python3 -m venv venv
    source venv/bin/activate
    pip3 install -r requirements.txt
  4. Specify the Azure location to use:

    Terminal window
    pulumi config set azure-native:location WestUS
  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 endpoints:

    Terminal window
    pulumi stack output helloEndpoint
    http://hello-app91dfea21.azurewebsites.net/hello
    curl "$(pulumi stack output helloEndpoint)"
    Hello, world!
    pulumi stack output getStartedEndpoint
    http://get-started-15da13.azurewebsites.net
    curl "$(pulumi stack output getStartedEndpoint)"
    <html>
    <body>
    <h1>Your custom docker image is running in Azure App Service!</h1>
    </body>
    </html>

Related

The infrastructure as code platform for any cloud.