Working in web development? Well, then you’ve probably heard about Docker and its recent developments before. Many people call it hotter than hot. Docker containers can be a true productivity booster for your next web apps. As a web developer it’s not that easy to understand the essence of Docker.
This is why I’d like to take a look at the Docker containers and show you some real-world problems Docker is solving for web developers.
What is Docker?
Docker is basically an open source tool for running isolated containers on Linux making the deployment of apps inside containers faster. Docker creates portable, self-sufficient containers from any application.
The same container that the developer builds and tests on his PC, can run in production, on VMs, in the cloud and a lot more places.
You can run a single service per container, e.g. one container for your MySQL, one container for your Apache, and one container for your WordPress installation.
Otherwise you can put a whole application stack in one container as well. There’s no right or wrong about this.
6. What is Docker?
Docker is an open source tool for running isolated containers
on Linux making the deployment of apps inside containers
faster. Docker creates portable, self-sufficient containers from
any application.
The same container that the developer
builds and tests on his PC, can run in
production, on VMs, in the cloud and a
lot more places.
You can run a single service per
container, e.g. one container for your
MySQL, one container for your Apache,
and one container for your WordPress
installation.
7. Docker containers vs. VMs
The ability to separate an
application from the
underlying Linux
operating system is very
attractive. Comparing
Docker containers to VMs
is a valid thing, although
Docker containers do not
replace VMs.
8. Container & Container-as-a-Service
Containers have been around for quite
a while. Although it never really
became something like an “industry
standard”, Docker made it all possible.
Docker is basically built on top of LXC (Linux
Containers). It’s definitely not a replacement
for LXC, instead Docker offers some high
level features on top of LXC
The growth of the Container-
as-a-Service business is
immense.
9. Real-world use cases for web developers
Docker is basically designed in a way that
it can be used in many different use
cases.
Big community
With its growing community of
developers, there are thousands of
ready-to-go containers for popular
applications like MySQL or
WordPress.
Local Development
Working with Docker containers on
local environment is a true
productivity booster and definitely
saves you some last minute hassle.
App isolation
With Docker you basically run one
application or process per container.
Containers take advantage of the
ability to create isolated
environments.
Rapid deployment
With Docker, you can have
everything up-and-running within
seconds. By simply creating a
container and not booting up an OS,
we definitely see some time saved.
10. Security benefits of Containers
Running various containers can provide some
security benefits. By running applications on
various containers, each container only has
access to the ports and files explicitly
exposed by the other container.
Further on, containers offer a higher level of
control on what data and software are
installed. Some malodorous script run in one
container, won’t affect any other container.