The container abstraction and the tools Docker provides for working with containers has
changed the system administration and software development landscape. Docker is important
because it makes containers available to everyone. Using it saves time, money, and energy.
The second reason Docker is important is that there is significant push in the software
community to adopt containers and Docker. This push is so strong that companies like
Amazon, Microsoft, and Google have all worked together to contribute to its development and
adopt it in their own cloud offerings. These companies, which are typically at odds, have come
together to support an open source project instead of developing and releasing their own
solutions.
The third reason Docker is important is that it has accomplished for the computer what app
stores did for mobile devices. It has made software installation, compartmentalization, and
removal very simple. Better yet, Docker does it in a cross-platform and open way. Imagine if
all of the major smartphones shared the same app store. That would be a pretty big deal. It’s
possible with this technology in place that the lines between operating systems may finally
start to blur, and third-party offerings will be less of a factor in choosing an operating system.
Fourth, we’re finally starting to see better adoption of some of the more advanced isolation
features of operating systems. This may seem minor, but quite a few people are trying to
make computers more secure through isolation at the operating system level. It’s been a
shame that their hard work has taken so long to see mass adoption. Containers have existed
for decades in one form or another. It’s great that Docker helps us take advantage of those
features without all the complexity.
1.4 Where and when to use Docker
Docker can be used on most computers at work and at home. Practically, how far should this
be taken?
Docker can run almost anywhere, but that doesn’t mean you’ll want to do so. For example,
currently Docker can only run applications that can run on a Linux operating system or
Windows applications on Windows Server. This means that if you want to run an OS X or
Windows native application on your desktop, you can’t yet do so with Docker.
By narrowing the conversation to software that typically runs on a Linux server or desktop,
a solid case can be made for running almost any application inside a container. This includes
server applications like web servers, mail servers, databases, proxies, and the like. Desktop
software like web browsers, word processors, email clients, or other tools are also a great fit.
Even trusted programs are as dangerous to run as a program you downloaded from the
Internet if they interact with user-provided data or network data. Running these in a container
and as a user with reduced privileges will help protect your system from attack.
Beyond the added in-depth benefit of defense, using Docker for day-to-day tasks helps
keep your computer clean. Keeping a clean computer will prevent you from running into
shared resource issues and ease software installation and removal. That same ease of
©Manning Publications Co. We welcome reader comments about anything in the manuscript - other than typos and
other simple mistakes. These will be cleaned up during production of the book by copyeditors and proofreaders.
https://forums.manning.com/forums/docker-in-action-second-edition
Licensed to doreen min <doreenmin127@gmail.com>