September 26, 2021

Azure Container Instances (ACI)

ACI is a PaaS

Run containerized applications


A container is created with an image of an application and it includes everything that it needs to run including databases, web server, the application code itself.

In order to run the application in a container the host needs to be running the container runtime environment. The most popular to date is Docker.

Each container usually operates in its own isolated environment in its own network.

Other containers sharing the hardware can’t talk to each other unless the image creator configured it to do so. Making it an ideal secure environment.

The Operating system matters because it must match the container (this seems limiting) even though the container has it’s own OS as part of the image. However an image built for Linux will not run on Windows host. Nor will a Windows container run on a Linux host.


Docker Hub is the world’s largest library and community for container images. Browse over 100,000 container images from software vendors, open-source projects, and the community.

Docker can enforce secure environments

Using ACI for Running Containers

ACI is designed to work with simple applications, so stuff like auto-scaling isn’t going to work. Kubernetes is better for applications that are heavily used by many people and services.

Create container instance

You need to configure:

  • Resource Group
  • Container Name
  • Image Source [Quickstart images | Azure Container Registry | Docker]
  • Images Type [Public | Private]
  • OS Type [Linux | Windows]
  • Number of CPU Cores [1-4]
  • Memory (GB) [500MB-16GB]
  • DNS name label. The suffix is auto created

Rules for ACI

  • You can not change the DNS name label after. the instance is created, so choose wisely.
  • You can not change the image your instance is using