What is Docker?

Software Engineering Word of the Day

Docker

/ daa· kr /

Definition

Tech companies need to run and maintain their applications in lots of places. The application might be running in multiple environments like production, staging, and/or the individual software developers computer (aka local). A common issue developers face is when one person experiences a bug while another doesn’t. It quickly becomes a nightmare figuring out why the application is working in one place and not another. With Docker and its concept of containers, managing these instances become simple.

Like at McDonald’s where you can get the same cheeseburger at any location, Docker lets you create the same controlled environment so your program will behave the same no matter where it’s being run. If you are running a Docker container on your computer, you can almost guarantee it will work on someone else’s. This ability to copy environments is very powerful. You can use this copy for production, share the copy with other people, or have the same copy running on multiple servers to handle higher traffic. Build once, run everywhere.

See Docker's Official Documentation for a deeper dive.

Used in a sentence

Example 1: developer who just started in the teamDev: Hey I’m running our app through docker but I’m not seeing the latest changes.Lead Dev: Make sure you pulled the latest images. We might’ve pushed up some updates.

Commonly used terms related to DevOps

  • Container

  • Agnostic

  • Registries

  • Docker Swarm

  • Images

  • Volumes

  • Kubernetes

  • Ports