
Explore containerization with Docker, building a blog web application on the mean stack, starting on a single host and scaling with Docker Swarm for high availability, automated by Ansible.
Learn how Docker creates and manages containers, and why containers are faster and more portable than traditional virtual machines, using the basic commands and tools introduced in this course.
Download the stable Docker for Windows installer and run it on Windows 10. Enable virtualization, Hyper-V, and containers, ensure eight gigabytes of memory, and review community versus enterprise editions.
Install docker on Mac by downloading from docker dot com and launching the app after dragging it to Applications. On Linux, enable apt, add the docker repository, and install docker.
Explore Docker basics by pulling Ubuntu images from Docker Hub, creating containers with docker run, and managing containers and images using commands like docker ps, exec, stop, and rm.
Create a lightweight docker image using alpine base, install lighttpd, configure and serve a simple index file, then run a container with port 80 exposure to host.
Deploy a microservices-based mean stack blog with docker containers, decoupled back end, database, and front end served by a reverse proxy.
Set up three docker directories for db, app, and web; build the database image from the mongo:3 base, and minimize layers by combining apt-get update and upgrade in one run.
Build a node-based application image for a dockerized api server by writing a dockerfile, installing dependencies with npm, exposing port 3000, and wiring express, body-parser, and mongoose.
Builds the final web server image using nginx, installs openssl, creates a htpasswd with a build-arg, configures nginx with a secure site and a /api proxy to a node backend.
Launch three containers for the database, the app, and the web server, exposing ports 80 and 3000. Route API calls through nginx to the backend and serve content, illustrating microservices.
Examine the drawbacks of a docker-based microservices architecture, including missing authentication for the database, in-container data storage, hard-coded network addresses, and how volumes and local secrets improve persistence and security.
Learn how a container orchestration system ensures high availability by managing micro services, scaling out with multiple containers, and maintaining the desired state across manager and worker nodes.
initialize a docker swarm and create a one-container service on port 3000, then scale replicas while the swarm’s registry and load balancer ensure high availability and automatic recovery.
Deploy a blog app on Docker Swarm by creating an overlay network, naming services (db_server, app_server, web_server), enabling replicas for high availability, and ensuring service name DNS resolves across containers.
Learn to automate swarm deployments with docker stack by writing a YAML configuration that defines services, networks, and volumes, then deploy and manage replicas with restart policies.
Learn to deploy a private service registry in a docker swarm, scatter containers across multiple hosts, and bind the registry to a node with an overlay network and port 5000.
Learn how to distribute services on multiple Docker Swarm nodes by using a private service registry, deploying replicated services, and achieving high availability with dynamic rebalancing.
Explores how Docker uses union file systems and copy-on-write to manage images, and shows how to persist data across nodes with volumes, bind mounts, and named volumes.
Create a dedicated NFS share on a separate server and mount it into a Mongo container using a Docker named volume with an NFS driver and no root squash.
build a stateful swarm with Docker stack by mounting a shared NFS-backed named volume across manager and worker nodes, ensuring data persistence and high availability.
Learn how configuration management automates infrastructure for hosting containers, using Ansible to describe the desired state, install software, and manage swarm orchestration with YAML playbooks.
Install ansible on mac with brew, verify the installation, and configure ubuntu prerequisites: python, ssh, passwordless login, and passwordless sudo for unattended playbooks.
Write an Ansible playbook to configure a swarm, defining hosts and inventory, using become for root access, and setting variables for images, services, and volumes.
Explore writing an Ansible playbook to install docker prerequisites and the docker package with apt and pip. See how task naming and idempotence with inventory-driven execution enable repeatable deployments.
Build three docker images for database, app, and web server using Ansible's docker_image module, upload files with synchronize, and ensure idempotent execution before starting containers in the next lecture.
Learn to create a Docker swarm and its network using Ansible. Handle idempotence with conditionals, register outputs, and command module strategies.
This lecture demonstrates running Docker Swarm services with containers and mounted volumes, configuring db, app, and web services, exposing port 80, and restoring the desired state using Ansible.
Explore Docker basics, building images and containers, and deploying a blog app using MongoDB and Node.js images. Learn swarm clustering, resiliency, and Ansible-driven automation.
Master Docker with this hands-on project-based course that will help you breakdown Docker in to simple and easy to understand steps!
Docker is one of the best advancements in DevOps today. DevOps includes Developers and Operators working together to create, test and deploy apps in the fastest and the most efficient way. The process of collaboration was further simplified by virtual machines that allowed developers to share resources and work simultaneously on the same projects. Then came the containers and Docker.
Docker is a brilliant containerization software and it works by helping break down apps and their environments into small segments that can be stored and deployed with ease. Containerization allows building multiple containers, which house the app, it’s environment, and its system files, to work seamlessly on one virtual machine without having to share all the resources. This allows developers to run several applications in the same virtual machine, where each will behave exactly as if it has its own operation system, memory, CPU, storage and other resources.
Docker’s best feature includes the Docker Swarm. The Docker Swarm tool allows developers to divide their applications into small, atomic components, each running on one or more containers. The Swarm engine will orchestrate load balancing, revive crashed containers, and coordinate with other Docker hosts.
As complicated as this sounds, don’t worry because we’ve got your back! We’ve designed this course to help you simplify Docker and learn how to build your very own container using a project-based approach. This mean, no theory that will just simply go over you head and leave you stranded at the end of the course. This tutorial will help you actually get started and make you more confident in building your very own containers.
Starting at the very beginning, the course will help breakdown Docker and it’s core concepts so even the newbies that want to learn more about Docker can get on board. From there we are going to build a blog web application using the MEAN Stack – MongoDB, ExpressJS, AngularJS and NodeJS. We will start by creating a simple Docker container on one host and then we’ll move on to creating a Docker Swarm to achieve high availability. Later on, we’ll make use of Docker Swarm to join multiple Docker hosts to the cluster. Finally, we also have a bonus section where you’ll learn how to use Ansible to automate Swarm section.
So, what are you waiting for? Let’s get started with building your very own Docker container!