Skip to content

Files

Latest commit

e9855a2 · Dec 17, 2021

History

History
62 lines (48 loc) · 3.94 KB

how-to-deploy-self-hosted-gateway-docker.md

File metadata and controls

62 lines (48 loc) · 3.94 KB
title description author manager ms.service ms.topic ms.date ms.author
Deploy self-hosted gateway to Docker
Learn how to deploy a self-hosted gateway component of Azure API Management to Docker
dlepow
gwallace
api-management
article
04/19/2021
danlep

Deploy an Azure API Management self-hosted gateway to Docker

This article provides the steps for deploying self-hosted gateway component of Azure API Management to a Docker environment.

Note

Hosting self-hosted gateway in Docker is best suited for evaluation and development use cases. Kubernetes is recommended for production use. Learn how to deploy with Helm or using deployment YAML file to learn how to deploy self-hosted gateway to Kubernetes.

Prerequisites

Note

Self-hosted gateway is packaged as a x86-64 Linux-based Docker container.

Deploy the self-hosted gateway to Docker

  1. Select Gateways from under Deployment and infrastructure.

  2. Select the gateway resource you intend to deploy.

  3. Select Deployment.

  4. Note that an access token in the Token text box was autogenerated for you using the default Expiry and Secret key values. If needed, pick desired values in either or both controls to generate a new token.

  5. Make sure Docker is selected under Deployment scripts.

  6. Select env.conf file link next to the Environment to download the file.

  7. Select copy icon located at the right end of the Run text box to copy the Docker command to clipboard.

  8. Paste the command to the terminal (or command) window. Adjust the port mappings and container name as needed. Note that the command assumes that downloaded environment file is present in the current directory.

    docker run -d -p 80:8080 -p 443:8081 --name <gateway-name> --env-file env.conf mcr.microsoft.com/azure-api-management/gateway:<tag>
    
  9. Execute the command. The command instructs your Docker environment to run the container using container image downloaded from the Microsoft Container Registry, and to map the container's HTTP (8080) and HTTPS (8081) ports to ports 80 and 443 on the host.

  10. Run the below command to check if the gateway container is running:

    docker ps
    CONTAINER ID        IMAGE                                                 COMMAND                  CREATED             STATUS              PORTS                                         NAMES
    895ef0ecf13b        mcr.microsoft.com/azure-api-management/gateway:latest   "/bin/sh -c 'dotnet …"   5 seconds ago       Up 3 seconds        0.0.0.0:80->8080/tcp, 0.0.0.0:443->8081/tcp   my-gateway
  11. Go back to Azure portal, click on Overview and confirm that self-hosted gateway container you just deployed is reporting a healthy status.

    gateway status

Tip

Use console docker container logs <gateway-name> command to view a snapshot of self-hosted gateway log.

Use docker container logs --help command to see all log viewing options.

Next steps