Your developer is working on your businesses latest app. She’s writing and developing the app on her local laptop – everything is going well.
She deploys the app but the version that’s visible on the server doesn’t work.
Why? Turns out that there are small, critical differences between your developer’s laptop environment and the environment of your company’s server.
By environment we mean things like the operating system, the system settings, software modules installed, webserver type and everything else!!
Imagine that your developer and your company server could easily replicate exactly the same environment. That would mean that your amazing new app would be deployed and nothing would be different. Your app would work in exactly the same way.
Docker is a software company whose main product ‘Docker’ allows environments to be described with short text files.
Imagine someone writing a couple of A4 sides on your house : A list of the rooms, what items of furniture are in which room, where the taps are located, what kind of towels are in the bathrooms, and so on.
Back to computers and now anyone who wants to use those environments can simply use the text file to create a new environment on a new machine. In our example, your developer can spin up exactly the same environment on your developers local machine as on your company’s enterprise level public facing production server.
No Need To Re-Invent The Wheel
Developers find themselves using the same environments again and again. With Docker, they have access to a library of standardized containers that allow them to be up and running in seconds.
Need a web-server setup? BOOM! A few commands later your developer is up and running, without having to mess about with installing separate bits of software and trouble-shoot problems with those installations.
Why The Name Docker?
Docker refers to how each of the environments we’ve been talking about is a container. A container is a light-weight virtual machine – easy and cheap to describe and create in seconds.
Containers allow a developer to package up an application with all of the parts it needs including libraries and other dependencies. Then the container means the application can be deployed as one package.
Docker’s name implies that it’s software that deals with containers.
Docker allows developers to develop apps quickly and reliably.
If your business’s developers use Docker containers – that’s good news.
Docker and containerized apps can help your developers accelerate their workflow. The final app they produce will be easier to scale, easier to debug, and more secure.