A container is a single running instance of a service, worker, or static site resource that you have shipped on App Platform, and is in essence a live, runtime instance of an image (the artifact produced by the build process).

You can think of them as a single unit of deployment for your app. Containers are useful to cloud-hosted applications as they allow developers to isolate their app and its dependencies from the environment in which it runs, simplifying the process for scaling, resourcing, and routing traffic to an app.

A container is given an allotment of resources it is allowed to use at runtime – a given number of CPUs, and GiB of memory. However, in App Platform, containers are served behind a load balancer that can “even out” incoming requests among many containers, allowing you to freely add more containers when more capacity is needed for your app, and take them away when it is not.

While containers are intended to be an under-the-hood implementation detail in App Platform that you won’t necessarily worry about, App Platform will parse any Dockerfiles in your repo at runtime, presuming that you have details about your container image build process that you want respected. If a Dockerfile is not present, the build process falls back to using a buildpack for the selected programming language.

Container Articles

Build app components locally using the same build process as App Platform.
Use and encrypt environment variables in App Platform.
Deploy an application using a container image stored in your DigitalOcean Container Registry.