Skip to content
MERCIL

Platforms

Docker

Packaging an application and its dependencies into an image, so the same build runs on a laptop, in CI and in production with much less environment drift.

Part of Tailor-made Software Development

Docker packages an application with its libraries and runtime into an image, which can then run on a developer's laptop, in CI and in production.

Where it fits

Without containers, development, staging and production tend to drift apart in library versions and operating system patches, and some defects reproduce in only one of them. With an image, production runs the same build that passed testing. Docker Compose runs a multi-container application on a single host, so a new developer can start the system with one command.

Its limits

Containers share the host's kernel, and an image is built for one CPU architecture (amd64 or arm64) unless it is published as a multi-architecture build. Configuration, secrets, mounted volumes and resource limits still differ between environments, so some "works on my machine" problems remain. Docker's Swarm mode can run containers across several hosts, but for production orchestration teams usually choose Kubernetes or a managed container service such as Amazon ECS. Images also inherit vulnerabilities from their base layers and need regular scanning and rebuilding.

How we use it

Our pipelines build one image per change and promote that image through each environment. Rolling back means running the previous image, which works only if database changes are backward compatible, so we plan migrations for that.

DevOps & CI/CD, Cloud Migration & Architecture, Application Modernization

Cookies on this site

We use essential cookies to make this site work and, with your consent, Google Analytics and Hotjar session recordings to understand how it is used. Forms are hidden in recordings. Cookie policy