What is Docker?

Docker on TurboStack lets you run a containerized application on an application, with Nginx reverse-proxying to the container's port.

Docker is a platform for packaging an application together with everything it needs to run - code, runtime, libraries and configuration - into a single, portable unit called a container. Containers are isolated from one another and from the host, so an app behaves the same wherever it runs.

Containers are a clean way to deploy custom applications and microservices: the container holds the exact environment the app expects, and the host only needs to run the container engine. On TurboStack, Docker lets you run such containerized applications alongside TurboStack's managed web, Transport Layer Security (TLS) and security layers.

On TurboStack

Docker is enabled per application under Configure application > Technologies > Docker.

  • When you enable it, TurboStack provisions Docker for the application so you can run a containerized application.

  • The container listens on its own port; Nginx reverse-proxies to that port, so combine Docker with the reverse proxy to publish the app behind TurboStack's public front door (TLS, caching, security).

  • This is a good fit for custom applications and microservices that ship as containers rather than as a standard PHP or runtime app.

Best practices

  • Run one main process per container and keep images small and purpose-built.

  • Bind the container's published port to loopback and let Nginx proxy to it, rather than exposing it publicly.

  • Pin image versions (avoid relying on latest) so deployments are reproducible.

  • Configure the container to restart automatically so the upstream stays available behind the proxy.

  • Keep persistent data on mounted volumes, not inside the container's writable layer.