Painless Docker (The Book + The Code + The Bonus Chapters)
Minimum price
Suggested price

Painless Docker

Unlock The Power Of Docker & Its Ecosystem

About the Book

Docker is a powerful tool, however learning how to use it the right way could take a long time. Engineers and developers are confused in front of the rapidly growing cloud and containers ecosystem, many of them have found some difficulties to enter the containers world.

Painless Docker is a gate to enter Docker's world and master it, you will find that using Docker is easy and efficient for your development and operations environments.

Painless Docker is a complete and detailed guide to master Docker and a great part of its ecosystem. The book is designed for beginners and for intermediate levels : You will be guided step by step from the simple basic concepts to the advanced powerful features in order to master Docker and microServices from development to production using Docker, Docker Compose, Docker Swarm, Kubernetes and other interesting tools.

The 10 most important things you’ll learn

  • Basics & Advanced Concepts Of Docker: More than an introduction to Docker
  • Building Your Own Images & Running Containers In Production: From build to run
  • Docker Volumes, Networking & Advanced Concepts Like SDN, Docker Events, Storage Drivers, Cloud Drivers ..etc : Managing your filesystem, your networks and you Docker cluster
  • Optimizing Docker: Build better images and run better containers
  • Building Your Own Docker Monitoring Tool Using Docker API: Use Docker API
  • Docker Logging & Debugging: Check your Docker health and fix problems
  • Docker Orchestration Using Swarm, Kubernetes & Rancher: The Docker ecosystem
  • Using Docker To Build Microservices Architecture: Microservices and containers have common patterns
  • Docker Security And Best Practices: What you will need to run a stable and secured production system
  • Using Docker to Build & Run Microservices: Use Docker with other cloud services to prototype a microservices application

Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries. 

  • Share this book

  • Categories

    • Docker
    • DevOps

About the Author

Aymen El Amri  @eon01
Aymen El Amri @eon01

Aymen El Amri is an IT architect, a software engineer and a DevOps/Docker enthusiast, working actually as the head of IT in a weblib (a parisian startup).

He worked on web development, system engineering, infrastructure & architecture for companies and startups. He is interested in Docker, Cloud Computing, DevOps philosophy, the lean programming and the tools/methodologies that comes with since his experiences in this domains were successful.

He co-founded some projects in connection with the community of Free and Open Source Software, an infrastructure provider startup and he was involved in hackerspaces and other political/social movements in relation with technologies.

Aymen is also the curator of DevOpsLinks: An Online Community Of Diverse & Passionate DevOps, SysAdmins & Developers From All Over The World

You can connect with him on :

Aymen El Amri  @eon01

Episode 88


The Book + The Code + The Bonus Chapters
  • PDF

  • EPUB

  • WEB

  • English

Minimum price
Suggested price
The Book
  • PDF

  • EPUB

  • WEB

  • English

Minimum price
Suggested price

Bundles that include this book

Bought separately
Bundle Price
Bought separately
Bundle Price

Reader Testimonials

Eugene Karmazin
Eugene Karmazin

IT Ops engineer, IT consultant

Great book! Helped me to finish few projects based on Docker. Thank you Aymen!

Vinay Gupta
Vinay Gupta

Digital Solution Architect at Ericsson

I'v been using docker ecosystem for 1 year or so. I had tried to refer to various documentations available and purchased courses on Udemy, Linux Foundation as well but none of them is as comprehensive ,hands-on, practical use-case driven which this book covers. I will surely refer this to professionals working in area of SDN,NFV and using docker on a daily basis.

Alex Ewetumo
Alex Ewetumo

Polyglot Developer -

Need to get up to speed with #docker and #devops, I highly recommend "Painless Docker" ( by @eon01. A superbly nice guy.

Table of Contents

  • Preface
    • To Whom Is This Book Addressed ?
    • How To Properly Enjoy This Book
    • Conventions Used In This Book
    • How To Contribute And Support This Book ?
  • Chapter I - Introduction To Docker & Containers
    • What Are Containers
    • Containers Types
      • Chroot Jail
      • FreeBSD Jails
      • Linux-VServer
      • Solaris Containers
      • OpenVZ
      • Process Containers
      • LXC
      • Warden
      • LMCTFY
      • Docker
      • RKT
    • Introduction To Docker
    • What Is The Relation Between The Host OS And Docker
    • What Does Docker Add To LXC Tools
    • Docker Use Cases
      • Versionning & Fast Deployment
      • Distribution & Collaboration
      • Multi Tenancy & High Availability
      • CI/CD
      • Isolation & The Dependency Hell
      • Using The Ecosystem
  • Chapter II - Installation & Configuration
    • Requirements & Compatibility
    • Installing Docker On Linux
      • Ubuntu
      • CentOS
      • Debian
    • Docker Toolbox
    • Docker For Mac
    • Docker For Windows
    • Docker Experimental Features
      • Docker Experimental Features For Mac And Windows
      • Docker Experimental Features For Linux
    • Removing Docker
    • Docker Hub
    • Docker Registry
      • Deploying Docker Registry On Amazon Web Services
      • Deploying Docker Registry On Azure
    • Docker Store
  • Chapter III - Basic Concepts
    • Docker Hello World
    • General Information About Docker
    • Docker Help
    • Docker Events
      • Using Docker API To List Events
      • Monitoring A Container Using Docker Events
    • Docker Images
    • Docker Containers
    • Docker Volumes
      • Data Volumes
      • Cleaning Docker Dangling Containers
      • Docker Volumes Events
    • Docker Networks
      • Docker Networks Types
        • Bridge Networks
        • Overlay Networks
      • Using Swarm Mode
      • Using External Key/Value Store
      • Docker Networks Events
    • Docker Daemon & Architecture
      • Docker Daemon
      • Containerd
      • Docker Daemon Events
    • Docker Plugins
      • Overview Of Available Plugins
      • Docker Plugins Events
    • Docker Philosophy
      • Build Ship & Run
      • Docker Is Single Process
      • Docker Is Stateless
      • Docker Is Portable
  • Chapter IV - Advanced Concepts
    • Namespaces
    • Control Groups (cgroups)
    • Linux Capabilities
    • Secure Computing Mode (seccomp)
    • Application Armor (Apparmor)
    • Docker Union Filesystem
    • Storage Drivers
      • OverlayFS
        • Pro
        • Cons
      • AUFS
        • Pro
        • Cons
      • Btrfs
        • Pro
        • Cons
      • Device Mapper
        • Pro
        • Cons
      • ZFS
        • Pro
        • Cons
      • VFS
        • Pro
        • Cons
    • What Storage Driver To Choose
  • Chapter V - Working With Docker Images
    • Managing Docker Images
      • Images, Intermediate Images & Dangling Images
      • Finding Images
        • Finding Private Images
      • Pulling Images
      • Removing Images
    • Creating New Images Using Dockerfile
      • FROM
      • RUN
      • CMD
      • LABEL
      • EXPOSE
      • ENV
      • ADD
      • COPY
      • VOLUME
      • USER
      • WORKDIR
      • ARG
      • ONBUILD
      • SHELL
    • Building Images
      • The Base Image
      • Dockerfile
      • Creating An Image Build Using Dockerfile
      • Optimizing Docker Images
      • Tagging Images
        • Your Private Registry
    • Optimizing Images
      • From Scratch
      • Busybox
      • Alpine Linux
      • Phusion Baseimage
        • Running The Init System
        • Adding Additional Daemons
        • Running Scripts At A Container Startup
        • Creating Environment Variables
      • Building A MongoDB Image Using An Optimized Base Image
      • Creating A Python Application Micro Image
      • Creating A Node.js Application Micro Image
    • Creating Your Own Docker Base Image
      • Using Tar
      • Using Scratch
  • Chapter VI - Working With Docker Containers
    • Creating A Container
    • Pausing And Unpausing A Container
    • Stopping A Container
      • Using Docker Stop
      • Using Docker Kill
      • Using Docker rm -f
    • Docker Signals
    • Container Life Cycle
    • Running Docker In Docker
    • Spotify’s Docker Garbage Collector
    • Performing A Docker Backup
  • Chapter VII - Working With Docker Machine
    • What Is Docker Machine & When Should I Use It ?
    • Installation
      • *nix
      • MacOS
      • Windows
    • Using Docker Machine Locally
      • Creating Docker Machines
      • Connecting Docker Machines To Your Shell
      • Working With Multiple Docker Machines
      • Getting More Information About Docker Machines
      • Starting, Stopping, Restarting & Killing Machines
      • Upgrading Docker Machines
    • Using Docker Machine With External Providers
      • Create Machines On Amazon Web Services
        • Creating A Docker Swarm Cluster Using Docker Machine
      • Create Machines On DigitalOcean
  • Chapter VIII - Docker Networking
    • Single Host Vs Multi Host Networking
      • Single Host Networking
      • Multi Host Networking
    • Docker Networks
      • Docker Default Networks
        • None Network
        • Docker Host Network
        • Bridge Network
        • docker_gwbridge Network
      • Software Defined & Multi Host Networks
        • Bridge Networks
        • docker_gwbridge Network
        • Overlay Networks
        • Flannel
        • Weave
        • Open vSwitch
          • Single Host
          • Multi Host
        • Project Calico
        • Pipework
        • OpenVPN
      • Service Discovery
        • Etcd
        • Consul
        • ZooKeeper
      • Load Balancers
        • Nginx
        • HAProxy
        • Traefik
        • Kube-Proxy
        • Vulcand
        • Moxy
  • Chapter IX - Composing Services Using Compose
    • What Is Docker Compose
    • Installing Docker Compose
      • Docker Compose For Mac And Windows
      • Docker For Linux
    • Running Wordpress Using Docker Compose
    • Running LEMP Using Docker Compose
    • Scaling Docker Compose
    • Docker Compose Use Cases
  • Chapter X - Docker Logging
    • Docker Native Logging
    • Adding New Logs
    • Docker Logging Drivers
    • Using Fluentd Log Driver
    • Using AWS CloudWatch Log Driver
  • Chapter XI - Docker Debugging And Troubleshooting
    • Docker Daemon Logs
    • Docker Debugging
    • Checking Docker Status
    • Debugging Containers
    • Troubleshooting Docker Using Sysdig
  • Chapter XIII - Orchestration - Kubernetes
    • Introduction
      • Master Components
      • Pods
      • Deployments
      • Services
      • Replication Controller
      • Replicaset
      • Nodes/Minions
      • Kubelet
      • The Container Runtime
      • Kube Proxy
    • A Local Kubernetes Using Minikube
      • Installation
      • Running Minikube
        • Kubectl
      • Publishing Services & Services Types
    • Using Kubernetes With Google Container Engine
      • Prerequisites
      • Setting Up The Compute Zone
      • Creating The Cluster
      • Creating The Wordpress Services
        • Creating Our Pod
        • Exposing Wordpress
        • Logging Into Our Cluster Machines
        • Using an HTTP Proxy to Access the Kubernetes API
        • Inspecting Services
        • Inspecting Nodes
        • Inspecting Namespaces
        • Viewing Kubernetes Configurations
      • Installing Kops
      • Prerequisites
  • Chapter XIV - Orchestration - Rancher/Cattle
    • Rancher Architecture
    • RancherOS
    • Running Rancher
    • Running A Wordpress Service
    • Cattle: Rancher Container Orchestrator
    • Scaling Wordpress Using Rancher
  • Chapter XV - Docker API
    • Exploring Docker API
    • Streaming Containers Logs Using Docker API
  • Chapter XVI - Docker Security
    • Possible Threats
      • Kernel Panic & Exploits
      • Container Breakouts & Privilege Escalation
      • Poisoned Images
      • Denial-of-service Attacks
      • Compromising secrets
      • Application Level Threats
      • Host System Level Treats
    • Security Best Practices
      • Security By Design
      • SetUID/SetGID
      • Controlling CPU Usage
      • Controlling Memory Usage
      • Verifying Images
      • Set Container Filesystem to Read Only
      • Set A User
      • Do Not Use Environment Variables To Share Secrets
      • Use Orchestrators Secret managers
      • Do Not Run Containers In The Privileged Mode
      • Turn Off Inter-Container Communication
      • Set Volumes To Read-Only
      • Only Install Necessary Packages
      • Make Sure Docker Is Up To Date
      • Use Vulnerability Analysis Scanners
      • Properly Configure Your Docker Registry Access Control
      • Security Through Obscurity
      • Secure And Control Your Code
      • Use Limited Linux Capabilities
      • Use Seccomp
  • Chapter XVII - Docker, Containerd & Standalone Runtimes Architecture
    • Docker Daemon
    • Containerd
  • Bonus 1: Architecting A Multi-Cloud, Highly Available, Scalable & Distributed Wordpress Using Docker, Docker Swarm, Traefik & GlusterFS
    • The Use Case
    • Preparing The Infrastructure
    • Creating A Trusted Pool Using GlusterFS
    • Creating Our Swarm Cluster
    • Deploying Our Application
    • Adding Traefik:
    • Udpating Services:
    • The Multi Cloud Wordpress
    • Optimizing GlusterFS
  • Bonus 2: Building A Near Real Time Event-Driven System Using Docker, Python, Amazon SNS & SQS
    • Introduction
    • Amazon Simple Notification Service
    • Amazon Simple Queue Service
    • Unix Philosophy & Microservice Based Software
    • A Common Architecture For Message Based Microservices
    • Building The Publisher
    • Building The Consumer
    • The Infrastructure
    • Load Testing
    • Benchmarking Results
    • Final Notes

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub