Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Learning Docker
Learning Docker

Learning Docker: Optimize the power of Docker to run your applications quickly and easily

Arrow left icon
Profile Icon Pethuru Raj Profile Icon Jeeva S. Chelladhurai Profile Icon Vinod Singh Profile Icon Jeeva Chelladhurai Profile Icon Vinod kumar Singh Profile Icon Pethuru Raj Chelliah +2 more Show less
Arrow right icon
$29.99 $43.99
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.8 (5 Ratings)
eBook Jun 2015 240 pages 1st Edition
eBook
$29.99 $43.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m
Arrow left icon
Profile Icon Pethuru Raj Profile Icon Jeeva S. Chelladhurai Profile Icon Vinod Singh Profile Icon Jeeva Chelladhurai Profile Icon Vinod kumar Singh Profile Icon Pethuru Raj Chelliah +2 more Show less
Arrow right icon
$29.99 $43.99
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.8 (5 Ratings)
eBook Jun 2015 240 pages 1st Edition
eBook
$29.99 $43.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m
eBook
$29.99 $43.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Table of content icon View table of contents Preview book icon Preview Book

Learning Docker

Chapter 2. Handling Docker Containers

In the previous chapter, we explained stimulating and sustainable concepts, which showed the Docker's way of crafting futuristic and flexible application-aware containers. We discussed all the relevant details of producing the Docker containers in multiple environments (on-premise as well as off-premise). Using these techniques, you can easily replicate these features in your own environments to get a rewarding experience. Therefore, the next step for us is to understand the container's life cycle aspects in a decisive manner. You will learn the optimal utilization of containers of our own as well as those of other third-party containers in an effective and risk-free way. Containers are to be found, assessed, accessed, and leveraged toward bigger and better applications. There are several tools that have emerged to streamline the handling of containers.

In this chapter, we will dig deeper and describe the critical aspects of container...

Clarifying the Docker terms

To make this chapter substantially simpler to understand and to minimize any kind of ambiguity, the frequently used terms will be explained in the following section.

Docker images and containers

A Docker image is a collection of all of the files that make up a software application. Each change that is made to the original image is stored in a separate layer. To be precise, any Docker image has to originate from a base image according to the various requirements. Additional modules can be attached to the base image for deriving the various images that can exhibit the preferred behavior. Each time you commit to a Docker image you are creating a new layer on the Docker image, but the original image and each pre-existing layer remains unchanged. In other words, images are typically of the read-only type. If they are empowered through the systematic attachment of newer modules, then a fresh image will be created with a new name. The Docker images are turning out to...

Working with Docker images

In the previous chapter, we demonstrated the typical Hello World! example by using a busybox image. Now there is a need for a close observation of the output of the docker pull subcommand, which is a standard command for downloading the Docker images. You would have noticed the presence of the busybox:latest text in the output text, and we will explain this mystery in a detailed manner by bringing in a small twist to the docker pull subcommand by adding the -a option, as shown here:

$ sudo docker pull -a busybox

Surprisingly, you will observe that the Docker engine downloads a few more images with the -a option. You can easily check the images that are available on the Docker host by running the docker images subcommand, which comes in handy, and it reveals more details with respect to :latest and the additional images that are downloaded by running this command. Let us run this command:

$ sudo docker images

You will get the list of images, as follows:

REPOSITORY...

Working with an interactive container

In the first chapter, we ran our first Hello World! container to get a feel of how the containerization technology works. In this section, we are going to run a container in an interactive mode. The docker run subcommand takes an image as an input and launches it as a container. You have to pass the -t and -i flags to the docker run subcommand in order to make the container interactive. The -i flag is the key driver, which makes the container interactive by grabbing the standard input (STDIN) of the container. The -t flag allocates a pseudo-TTY or a pseudo terminal (terminal emulator) and then assigns that to the container.

In the following example, we are going to launch an interactive container by using the ubuntu:14.04 image and /bin/bash as the command:

$ sudo docker run -i -t ubuntu:14.04 /bin/bash

Since the ubuntu image has not been downloaded yet, if we use the docker pull subcommand, then we will get the following message and the run command will...

Summary

In this chapter, we described the knowledge that is gained in the post-implementation phases, primarily regarding the operational aspect of the Docker containers. We started the chapter by clarifying important terms, such as images, containers, registry, and repository, in order to enable you to acquire an unambiguous understanding of the concepts illustrated thereafter. We explained how to search for the images in the Docker repository. We also discussed the operation and handling of the Docker containers, how to track the changes inside the containers, how to control and housekeep the containers. In an easy-to-grasp manner, we will explain the process of the Docker image building in the next chapter.

Left arrow icon Right arrow icon

Description

Docker is a next-generation platform for simplifying application containerization life-cycle. Docker allows you to create a robust and resilient environment in which you can generate portable, composable, scalable, and stable application containers. This book is a step-by-step guide that will walk you through the various features of Docker from Docker software installation to the impenetrable security of containers. The book starts off by elucidating the installation procedure for Docker and a few troubleshooting techniques. You will be introduced to the process of downloading Docker images and running them as containers. You'll learn how to run containers as a service (CaaS) and also discover how to share data among containers. Later on, you'll explore how to establish the link between containers and orchestrate containers using Docker Compose. You will also come across relevant details about application testing inside a container. You will discover how to debug a container using the docker exec command and the nsenter tool. Finally, you will learn how to secure your containers with SELinux and other proven methods.

Who is this book for?

If you are an application developer who wants to learn Docker in order to utilize its features for application deployment, then this book is for you. No prior knowledge of Docker is required.

What you will learn

  • Build a Docker image using Dockerfiles
  • Push and publish images on Docker Hub
  • Run your own private Docker Hub and upload images onto it
  • Create and run services inside a container to deploy your applications with ease
  • Share data between the Docker host and containers
  • Orchestrate multiple containers with Docker Compose
  • Test and debug applications inside a Docker container
  • Secure your Docker containers with SELinux

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jun 29, 2015
Length: 240 pages
Edition : 1st
Language : English
ISBN-13 : 9781784391935
Vendor :
Docker
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want

Product Details

Publication date : Jun 29, 2015
Length: 240 pages
Edition : 1st
Language : English
ISBN-13 : 9781784391935
Vendor :
Docker
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 103.98
Practical DevOps
$48.99
Learning Docker
$54.99
Total $ 103.98 Stars icon

Table of Contents

12 Chapters
1. Getting Started with Docker Chevron down icon Chevron up icon
2. Handling Docker Containers Chevron down icon Chevron up icon
3. Building Images Chevron down icon Chevron up icon
4. Publishing Images Chevron down icon Chevron up icon
5. Running Your Private Docker Infrastructure Chevron down icon Chevron up icon
6. Running Services in a Container Chevron down icon Chevron up icon
7. Sharing Data with Containers Chevron down icon Chevron up icon
8. Orchestrating Containers Chevron down icon Chevron up icon
9. Testing with Docker Chevron down icon Chevron up icon
10. Debugging Containers Chevron down icon Chevron up icon
11. Securing Docker Containers Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.8
(5 Ratings)
5 star 40%
4 star 20%
3 star 20%
2 star 20%
1 star 0%
Carles Aug 13, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Either if you are a Developer or a System Administrator, Docker is about to be a must know and must have in your daily toolbox.When a new technology arises and you want to get savvy on it, you can choose between two roads: diving into hundreds of not so well documented and often outdated on-line tutorials or going for the right way and choose a good book like this that guides and helps you in the process. This book it's written with this kind of scenario in mind, going straight to the point that matters, in order to help and speed up your learning curve.On chapter 1 you'll learn what it's docker and how can you benefit from using it on your daily work. If you are a developer who wants to start using this technology the book guides you through a series of chapters that discuses all you need to know to get confident with it (chapters 1 to 4). In the other hand if you are a system administrator, once you know the basis from the 4th first chapters, you only need to keep walking your way across the chapter 5 to get all you need to know to deploy and maintain you own private Docker infrastructure.From that point both developers and System Administrators still have chapters 6 to 11 to get deeper knowledge of more areas of expertise regarding Docker ecosystem.Summarizing, if you buy this book you'll get a very comprehensive and easy way to master Docker technology in a very short time.
Amazon Verified review Amazon
Venkatesh Bhat Aug 15, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This is a great reference book for cloud developers, from novice to expert. It covers nearly all features with docker container, followed by a hands-on example.It effectively demonstrates the advantages of running multiple containers within a virtual machine instead of spinning up a virtual machine for every application.The book is well written in simple terms and could be easily used for preparing presentation about docker features.Most recommended for container enthusiasts.
Amazon Verified review Amazon
incognito.programmer Aug 13, 2015
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
I truly enjoyed this book. Pretty easy reading for the most part. After reading this book I went from 0 to being able to have an educated conversation with others about docker, and dare I say it maybe get a container or two running! (Haven't done it yet, as I haven't had the time).The only knock from me on this book is the part about security. I felt like that chapter could've been better.
Amazon Verified review Amazon
Fran Oct 11, 2016
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
Is not bad, direct, no verbose, handy, easy to find all the topics and doubts. Maybe I miss a little some more examples with the docker run command line, because to be honest just appear a couple of times, which is quite annoying, but ok.
Amazon Verified review Amazon
Jascha Casadio Nov 22, 2015
Full star icon Full star icon Empty star icon Empty star icon Empty star icon 2
At the beginning of November 2015, Docker 1.9 was released and with it multi-host networking was introduced. At the same time, Swarm finally reached a stable state that guaranteed it the label of production-ready. The DockerCon that took place in Barcelona was a success, confirming 2015 has been a great year for that blue whale. The strong impact containers had on the IT world is reflected on the one hand by the many companies investing on it, and on the other by the humongous amount of blog posts and books dedicated to it. In a scenario where some must-have title has already been released (see the bottom for suggested titles), Learning Docker places itself as an introductory text that targets professionals and enthusiasts interested in getting a quick taste of this new technology.Docker is one of those technologies that I am particularly interested in. I have been reading a lot about it, from the official documentation up to blogs, passing through that horde of books that made it up to the Amazon’s shelves. Getting through these 200 pages took me less than two days, mainly because none of the topics covered was new to me. But let’s dive into it!The very first thing that I have noticed about this title is the complete lack of background about what Docker is and, mainly, how it works under the hood. I did not find a single paragraph describing what a union mount is. Union mounts are one of the many key concepts of Docker that are not explained at all. Another concept that is not explained at all is, for example, that of the build context. Mind, the term build context appears all over the book, but the reader is not told what it is. The examples that show how to build an image use it without making it clear that the build context is that lone dot at the very end of the command. Concepts such as name spaces and cgroups are, instead, briefly described at the very end of the book, in the chapter dedicated to security.Another thing I did not appreciate much is the quality of the diagrams used to present the concepts being explained. They are colorful yes, but they could have been definitely better. But diagrams apart, do we really need screenshots to guide us through the signup form of the Docker Hub?The examples presented by the authors are very simple. Throughout the book there is not a single real-world example, nothing that gets beyond the containers’ equivalent of an Hello World! in C. Still, this is a very beginners’ book. This also means that topics such as Kubernetes or Mesos are not touched at all.Tying it all up, a very beginners’ book that I did not like but that someone completely new to the subject could find easy to read to get started. Still, the book can’t keep up with the competition: beginners should prefer passing through each and every page of the official documentation and, optionally, Turnbull’s The Docker Book.Suggested readings:The Docker Book: an user friendly, concise introduction to Docker. While it does not cover many advanced topics, it’s by far the best covering the basics.Docker Hands on: while not helpful to beginners, it offers the reader many advanced topics that can’t be found anywhere else.Docker: Up and Running: a very good text that focuses on advanced topics, mainly containers security.As usual, you can find more reviews on my personal blog: http://books.lostinmalloc.com. Feel free to pass by and share your thoughts!
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.