Beginning Docker
3.5 (17 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
219 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Beginning Docker to your Wishlist.

Add to Wishlist

Beginning Docker

A hands-on video course packed with practical examples to get you started with Docker and create dazzling applications
3.5 (17 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
219 students enrolled
Created by Packt Publishing
Last updated 12/2015
Current price: $12 Original price: $75 Discount: 84% off
4 days left at this price!
30-Day Money-Back Guarantee
  • 2 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Build new Docker containers and find and manage existing ones
  • Use the Docker Index, and create your own private one by using containers
  • Discover ways to automate Docker, and harness the power of containers!
  • Build your own Docker powered mini-Heroku Paas with Dokku
  • Set up Docker on your environment based on your application’s custom requirements
  • Master Docker patterns and enhancements using the Ambassador and Minimal containers
View Curriculum
  • It assumes basic knowledge of Linux but supplies everything you need to know to get your own Docker environment up and running.

One of the major challenges while creating an application is adapting your application to run smoothly on all of the plethora of operating systems available. Docker is an extremely efficient technology that allows you to wrap all your code along with its supporting files into a single bundle; it also guarantees that your application will behave in the same way on any host powered by Docker. You can also easily reuse existing Docker containers or create and publish your own. Unlike Virtual Machines, Docker containers are lightweight and more efficient.

Beginning Docker starts with the fundamentals of Docker—explaining how it works, how to set it up, and how to get started on leveraging the benefits of this technology. The course goes on to cover more advanced features and shows you how to create and share your own Docker images.

You will learn how to install Docker on your own machine, then how to manage it effectively, and then progress to creating and publishing your very own application. You will then learn a bit more about Docker Containers; built-in features and commands such as volumes, mounts, ports, and linking and constraining containers; before diving into running a web application.

Docker has functionality such as the Docker web API to handle complex automation processes which will be explained in detail. You will also learn how to use the Docker Hub to fetch and share containers, before running through the creation of your own Docker powered mini-Heroku

Beginning Docker covers everything required to get you up and running with Docker, with detailed real-world examples and helpful tips to make sure you get the most from it.

About The Authors

Donald Simpson is an Information Technology Consultant with over 15 years of experience in programming, Build Management, and process automation. He has worked with a wide variety of multinational companies to develop bespoke automated solutions using Docker and Virtualisation technologies.

Jeff Lindsay is an independent, design-minded technologist who has been writing and designing software professionally for over 15 years. He has worked with Twilio, DotCloud/Docker, Transcriptic, Piston Cloud, CommerceNet, NASA Ames, and others to build prototypes, products, and platforms.

He also has a large open source portfolio, lots of speaking experience, and a history of starting communities and cultural institutions. These include SuperHappyDevHouse and Hacker Dojo.

His Specialities include systems thinking, experience design, platforms, tools, prototyping, python, ruby, distributed systems, messaging, information architecture, usability, domain modeling, systems infrastructure, API integrations and design, web development, and cloud stuff.

Who is the target audience?
  • If you’re a developer who wants to learn about Docker, a powerful tool to manage your applications effectively on various platforms, this course is perfect for you!
Compare to Other Docker Courses
Curriculum For This Course
29 Lectures
4 Lectures 15:15

This video will offer an overview of the course.

Preview 02:54

See how to get your own Docker running using a local virtual machine that is controlled by Vagrant.

Getting Docker Inside a Vagrant VM

Learn the difference between Docker containers and traditional virtual machines.

Containers Versus Virtual Machines

Get a high-level overview of the objects Docker works with and how they are used.

How Docker Works?
Docker Basics
5 Lectures 23:03

We have Docker and want to run a command in an isolated container, so we use "docker run" to work with commands in containers.

Preview 06:07

You want to manage containers once you've started creating them. You can list, inspect, view log, stop, and delete them with basic Docker commands.

Managing Your Containers

We want to make an image that has a package (sshd) already installed and configured. So, we'll use Docker commands to make a new image from an existing image.

Committing Changes to a Container Image

Once you've made a container you like, you would want to share it with others or make it easy for you to install on other machines. So, you have to push the container image to the Docker index.

Sharing a Container on the Index

Making containers for everything we want to use in containers is difficult, so we can use ready-made containers. Find and use container images using the Docker index and the Docker ecosystem.

Finding and Using Third-party Containers
Building Containers
5 Lectures 16:29

We want to quickly and consistently produce and reproduce a container image, so we use a Dockerfile to define a container.

Preview 03:37

We are making an image that uses a versioned configuration file, so we can add it to the container in the build process.

Adding Files to Your Container

We want to simplify the running process of our container, so we add metadata and defaults to the Dockerfile.

Setting Default Container Properties

You have a container that you want to use but with some variations, so you will build a new container based on the existing image.

Building on Existing Containers

We want others to trust our image in the Docker index, so we will set up trusted builds to automatically build from our GitHub repository.

Setting Up Trusted Builds
More Docker Features
5 Lectures 18:37

Using the Docker run command to improve performance, and exploring some of the features it provides us when running containerized commands.

Preview 04:23

Discover how to use docker run to override some of the defaults that come with containers, which are usually specified from their Dockerfiles.

Overriding the Dockerfile Defaults

Learn about Docker volumes and mounts and how we can use docker run to configure them for our containers.

Using Volumes and Mounts

Learn about ports and networking with Docker and Docker Containers.

Ports and Networking

Similar to how we can"share" data volumes across containers, we can also "share" ports across containers so that they can communicate with each other.

Linking Containers
Running a Web Application with Docker
5 Lectures 17:34

Although Docker is great for running backing services and infrastructure, its real value comes from shipping your application. Unlike the supporting infrastructure, your application will be updated and shipped quite frequently. Docker can make this process much easier. In order to demonstrate this, we’re going to build a simple web application to deploy with Docker.

Preview 03:02

Previously, we made a simple "Hello World" web application that uses Redis to increment a counter with every request. Now, we’re going to take this application and "Dockerize" it.

Containerizing the Application

Work through the process that is required to set up an application server to act as our production server to deploy on.

Setting Up an Application Server

Demonstrate how to effectively ship a container to another machine.

Shipping the Container to Production

We show how we can streamline the process and create an easy deployment workflow.

Creating a Simple Deployment Workflow
Basic Docker Automation
5 Lectures 24:00

We will explore the idea of automation in Docker.

Preview 06:57

Demonstrate how we can expose control of containers to other containers.

Container Inside a Container

Explain the limitations of the in-built logging functionality.

Managing Docker Logs with logspout

Building our own Docker-powered mini-Heroku platform-as-a-service using Dokku.

Creating Your Own PaaS with Dokku

Explore Docker pattern called ambassador.

Using Ambassador Containers
About the Instructor
Packt Publishing
3.9 Average rating
8,274 Reviews
59,158 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.