
Welcome to the course! Let me present myself and tell you what you'll learn during this course.
Learn about the requirements and the recommended hardware/software for you to be able to follow this course.
Quick look at the course's outline and all the topics we'll be covering
Let's quickly make sure your work station fulfills the requirements for this course, and that you have the necessary tools to proceed
Understanding the core concepts will make you a better Docker practitioner. What is a container? How is it different from a VM? And how does Docker come into play?
Learn how to install the Docker Engine
Learn how to install Docker Compose
A sneak peek at the Docker client and some of the commands we'll be using the most throughout the course. Learn how to get the usage details for each Docker command
What is a Docker Image? What about a Dockerfile? And finally, how to store and share Docker Images via a Docker Registry?
Revisit the Docker CLI to get help on the available Docker commands for image management. We'll also navigate through some of the commands and options you will learn during this section, like "build", "inspect", "push", "pull", "ls", "rm" and "tag".
Learn how to pull (download) a Docker Image from Docker Hub
A super quick overview of the Dockerfile syntax and the Docker build command
Learn how to build Docker Images from a Dockerfile, starting from the docs and trying out the first four essential Dockerfile instructions: FROM, RUN, CMD and ENTRYPOINT
Learn how to move your application artifacts from your build environment into a Docker Image, using the ADD and COPY instructions.
Third and final lesson on how to write Dockerfiles. In this one you will learn how to use the instructions EXPOSE, ENV and WORKDIR, for marking network ports, setting environment variables and defining a working directory, respectively
Learn how to push your own Docker Images into an online public Docker Registry (Docker Hub in this lesson)
A final consolidation on "What is a Docker Container?". What is the relationship between a Docker Image and a Docker Container? What does a Docker Container look like from an Operating System perspective?
Have a sneak peek at the Docker Containers CLI, to get to know the container commands we'll be using in this section
Get started with Docker Containers. Learn how to run a container and how to attach, remove and interactively connect to one.
Let's deploy a simple web server in a container. With it, you'll understand how important port mappings are and how to define them. You'll also learn how to share your own files with the container, via bind mounts.
Learn how to pass environment variables to a containers and how to define restart policies such that Docker takes care of automatically restarting your container, based on a predefined condition.
Learn how to start, stop, restart and remove a container - the 4 most common lifecycle management actions you'll do during the container's lifetime
Learn how to thoroughly inspect a container. First by looking at its output, then by checking its low-level information, and finally, by getting inside the running container and debugging it manually.
Finally, the last essential functionality is about copying files and directories, to and from a running container.
A general overview of the Docker Volume, and how it is different from a bind mount.
Starting from the usual bind mount, learn about Docker Volumes, how to manage them, and how are they different from a regular bind mount
For our last Docker object, we have networks. Learn about Docker Network drivers and how these impact your containers' behavior with respect to networking.
Learn how to manage and use bridge and host networks
Let's have a quick look back at everything we've learned in this course, and summarize the key parts.
A special lesson just to get you started with multi-container Docker applications, using Docker Compose. This is a super compressed lesson, just to tease your curiosity about the tool.
For this final lesson, I'm gonna give you some useful references...things you should bookmark in your favorites, that will come handy at some point in the future, be it documentation or test environments for you to practice.
“For the things we have to learn before we can do them, we learn by doing them.”
― Aristotle
Containers and microservices are unquestionably great skills to have nowadays, and Docker is arguably the most popular container runtime out there. So how can you - a beginner - keep up with everyone else's skills and with this ever-growing technology?
Reading a good manual is irreplaceable, but let's face it, most of us will first search our tech dilemmas on Stack Overflow before engaging with any documentation sources.
For those, this course will provide the essentials for you to make sense of Docker and quickly get started with it. By the end of the course, you will look like a seasoned Docker professional.
In this course, I'll start by giving you a quick and general introduction to containers and Docker. Then, we will cover and exercise the 4 main Docker objects:
Images: learn how to write Dockerfile, build Docker Images and push them into Docker Hub
Containers: learn how to start containers, configure them, and how to manage their lifecycle
Networks: learn about Docker Network drivers, and how you can configure your containers' networking behavior through these networks
Volumes: learn the difference between the different types of volumes offered by Docker, and how you can use them to better manage your containers' data