Docker: A Project-Based Approach to Learning
- 4.5 hours on-demand video
- 9 articles
- 21 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- How to install, configure, and manage Docker host systems and Docker containers. Linux, Mac, and Windows are covered.
- Hands-on exercises and projects complete with step-by-step, command-by-command instructions. You'll not only learn Docker concepts, but you'll be able to actually USE them in real-world situations.
- Best-practices for creating custom Docker images using Dockerfiles.
- How to dockerize any application, including your very own custom-written applications.
- How to create a private Docker registry to safeguard sensitive data. Perfect for enterprise or corporate environments. (It's like having your own private Docker hub.)
- How to create multi-container applications the right way using Docker networks.
- And much, much more...
In this lesson you will learn:
What editions of Docker are available.
Which edition of Docker is right for your situation.
What update channels exist for Docker.
Which Docker update channel to use and why.
In this lesson you will learn how to install Docker Desktop on Mac.
In this lesson you'll learn:
What a Docker container is.
How containers differ from virtual machines.
The Benefits of using containers.
How Docker utilizes a layered filesystem to create images.
The methods Docker uses to provide container separation.
What a Dockerfile is and when to use one.
What base images are as well as why and when to use them.
Why Docker works well in a microservices architecture.
In this lesson you will learn how to:
Give your Docker containers a name and then manage those containers using their names.
View a container's state, no matter if it is currently running or if it has stopped.
Configure a container so that it restarts any time it exits or even if the host system gets rebooted.
View the output generated by a container that is running in the background.
Quickly clean up and remove old containers that have already stopped.
In this lesson, you will learn how to make an application running inside a container accessible from outside of the Docker host machine. Additionally, you'll learn how to share data with containers running on your docker host system.
NOTE: For easier to read instructions download the PDF resource attached to this lesson.
The goal of this exercise to expose the port of a container to the outside world. For this exercise, you will use the Apache HTTP Server.
Start a Container Using the Apache HTTP Server Image
The image name for the Apache HTTP Server is "httpd." Start an image named "apache_welcome" using the "httpd" image. Use port 9900 on the docker host system to communicate with port 80 on the container.
docker run --name apache_welcome -d -p 9900:80 httpd:latest
Confirm the Port is Open
Use the "docker ps" command and examine the "PORTS" column for your apache_welcome container.
Confirm that you see "0.0.0.0:9900->80/tcp" in the "PORTS" column.
View the application
Details. Use the "curl" command to access Apache
You should see HTML returned.
If you are running Docker on your local system, you can further check that Apache is accessible by
typing "http://localhost:9900" into your web browser's address bar and hitting "Enter."
In this lesson you will learn how to persist and save data using Docker volumes. Additionally, you'll learn how to share the same data with multiple containers. You'll also learn how to make data available to a container in read-only mode. Finally, you learn how to use ephemeral volumes and how to remove unused volumes quickly.
In this lesson, you will learn all about Docker networking, including:
How Docker utilizes the existing features of the Linux kernel to control network traffic to and from Docker containers.
About the default network used for containers started on a Docker host system.
How to gather the details of all the networks and use on a docker host.
How to determine the exact IP address used by each container.
How to create user defined networks that allow for network separation among various containers.
Practical examples of how to deploy a web application using the best practices regarding Docker networking.
How Docker uses an embedded DNS server with built in service discovery for each of its user defined networks.
- No previous Docker experience is required to successfully complete this course.
- No paid software is required as all the tools used in the course are free and open source software.
- Access to a computer with a 64-bit processor running either Windows, Mac, or Linux is required. (You do NOT need Docker already installed to take this course.)
- The ability to download large files of about 500 MB in size from the Internet.
- A basic understanding of how to use the terminal or command prompt for your operating system. (You can take this course using Windows, Mac, or Linux.)
Have you tried to learn Docker on your own, but lack the structure you need to really improve your skills?
Are you tired of picking up bits and pieces of information that you can't just seem to put together?
Do you learn best by doing?
If so, you're going to love this course.
One of the biggest complaints I hear from students is that most of the courses they've taken in the past simply provide information without any context and without any idea of how to put that information to use!
This course turns that old, frustrating, and outdated way of learning on its head.
It's project-based, which means instead of learning bits and pieces of information, you'll learn the exact Docker commands that you can use in real-world situations. You get the chance to immediately put what you learn to use so that you fully understand and remember it.
In this Docker course you will learn how to:
Install Docker on Windows, Mac, and Linux.
Manage Docker containers.
Master Docker commands. (Here are just a few you'll learn: docker run, docker build, docker images, docker inspect, docker network, docker system, docker volume, and more…)
Use existing Docker images.
Build your very own custom Docker images.
Push and Pull your images to Docker Hub or any other Docker Registry.
Create a private Docker image registry.
Manage the data needed by and created by your Docker containers.
Persist data between container runs, including using Docker volumes.
View and manage the output and logs generated by your containers.
Docker networking, including how to create user-defined networks.
Create a Cluster of Docker Containers with Docker Swarm.
Much, much, more...
When you enroll, you get lifetime access to the course. Your course never expires. You can study at your own pace and refer back to the lessons whenever you want!
If you're ready to level-up your DevOps and Docker skills, enroll now!
- Anyone with an interest in learning how to configure, deploy, and manage Docker systems, Docker containers, Docker registries, Docker orchestrators, and Dockerized applications.
- Developers, programmers, and software engineers looking for best practices to deploy their apps quickly and easily using Docker. (You'll learn how to Dockerize/Containerize applications.)
- System Administrators who need to support Docker, including Linux Admins, Windows System Administrators, Linux System Engineers, Linux Engineers, Operations Engineers, Site Reliability Engineers (SREs), DevOps Engineers, Platform Engineers, Release Engineers, Cloud Infrastructure Engineers, and Build Engineers.
- Those who are looking to advance their career by learning a key DevOps Skill: Docker.