1- Introduction 2- Prerequisites 3- How to Take this Course 1- Introduction 2- What is Docker 3- Virtual Machines vs Containers 4- Docker Architecture 5- Installing Docker 6- Development Workflow 7- Docker in Action 1- Introduction 2- Linux Distributions 3- Running Linux 4- Managing Packages 5- Linux File System 6- Navigating the File System 7- Manipulating Files and Directories 8- Editing and Viewing Files 9- Redirection 10- Searching for Text 11- Finding Files and Directories 12- Chaining Commands 13- Environment Variables 14- Managing Processes 15- Managing Users 16- Managing Groups 17- File Permissions 1- Introduction 2- Images and Containers 3- Sample Web Application 4- Dockerfile Instructions 5- Choosing the Right Base Image 6- Copying Files and Directories 7- Excluding Files and Directories 8- Running Commands 9- Setting Environment Variables 10- Exposing Ports 11- Setting the User 12- Defining Entrypoints 13- Speeding Up Builds 14- Removing Images 15- Tagging Images 16- Sharing Images 17- Saving and Loading Images 1- Introduction 2- Starting Containers 3- Viewing the Logs 4- Publishing Ports 5- Executing Commands in Running Containers 6- Stopping and Starting Containers 7- Removing Containers 8- Containers File System 9- Persisting Data using Volumes 10- Copying Files between the Host and Containers 11- Sharing the Source Code with a Container 1- Introduction 2- Installing Docker Compose 3- Cleaning Up our Workspace 4- The Sample Web Application 5- JSON and YAML Formats 6- Creating a Compose File 7- Building Images 8- Starting and Stopping the Application 9- Docker Networking 10- Viewing Logs 11- Publishing Changes 12- Migrating the Database 13- Running Tests 1- Introduction 2- Deployment Options 3- Getting a Virtual Private Server 4- Installing Docker Machine 5- Provisioning a Host 6- Connecting to the Host 7- Defining the Production Configuration 8- Reducing the Image Size 9- Deploying the Application 10- Troubleshooting Deployment Issues 11- Publishing Changes