Shawn Mervin

Docker

Containers that let a whole product start, stop and upgrade as one unit.

Visit docker.comServers and delivery

What it is

Docker is a platform for packaging software into containers. A container holds an application together with everything it needs to run, so it behaves the same on a laptop as on a server. Docker, Inc. released it in 2013, building on Linux kernel features for isolation, and it quickly became the standard way to package server software.

Docker Compose describes a set of containers, such as an API, a database and a web server, in one file and runs them together. Images are versioned and repeatable, which turns upgrades and rollbacks into a matter of swapping images rather than reconfiguring a server by hand, and makes a fresh server quick to stand up.

How I use it

  • Lend Pilot runs in Docker Compose on its own EC2 instance: the Node and Express API, PostgreSQL and the web app.
  • The containers sit behind nginx, with Let's Encrypt TLS on the origin.
  • The whole product starts, stops and upgrades as one unit.
  • Deploys sync, rebuild, migrate and run a smoke suite against production.

Docker is the right tool when a product has several moving parts that must be deployed together on one server. I use Docker Compose for Lend Pilot so the API, database and web app always ship as one unit, and a deploy stays boring.

Questions

Do you need Kubernetes to run a SaaS?

Not at Lend Pilot's size. Docker Compose on one EC2 instance runs the whole product as one unit, which is simpler to operate and cheaper.

How do you deploy a containerized app?

Lend Pilot's deploy script syncs the code, rebuilds the containers, runs migrations and then a smoke suite against production.

Working with Docker?

Tell me what you're building. Start a project or see the whole stack.

Got an operation that's outgrown its spreadsheets?

Tell me what your business does and where it's jamming up. If I'm not the right person for it, I'll say so and point you somewhere better.

What to send, and what happens next