
Explore web apps and containers, dive into Docker architecture and Dockerfiles, and work with images. Learn Docker networks, storage backups, and orchestrate multi-container apps with Docker Compose and Docker Swarm.
Define web applications as HTTP-accessed programs on remote servers, enabling hardware independence, faster updates, scalability, and new revenue models through build, wrap, and run.
Install and run nginx on Ubuntu 16.04, using root privileges to verify binaries with a PGP key, update sources.list, and confirm by visiting localhost:80.
Explore how web apps drive traffic to data centers and create forests of servers, while updates in DevOps and the growing use of VMs test stability and uptime.
Containers are an application-layer abstraction that packages code and dependencies with a runtime for isolated, portable environments, enabling smaller footprints, easy scaling, and zero-downtime updates.
Explore Docker, the open source containerization platform for building, shipping, and running containerized applications, highlighting its dominance, vast community, cross-platform use, and job relevance.
Install Docker Community Edition on Ubuntu 16.04 by adding Docker apt repository and GPG key, then verify with hello-world. Enable non-root access by adding your user to the Docker group.
Pull the nginx:latest image from docker hub, run it as a container named web-server-nginx, map port 8080 to 80, and verify by accessing localhost:8080.
Explore the stages of containerization with Docker, detailing dockerfiles as blueprints, docker images as shipped artifacts, and running containers, and introduce the Docker architecture for deeper understanding.
Explore the architecture of Docker, including the Docker client, host, and registry, and how the Docker daemon builds images from Dockerfiles and runs containers via CLI and APIs.
Kindly download the codes for this lecture from resources section of Lecture 10.
Kindly download the codes for this lecture from resources section of Lecture 10.
Kindly download the codes for this lecture from resources section of Lecture 10.
Kindly download the codes for this lecture from resources section of Lecture 10.
Kindly download the codes for this lecture from resources section of Lecture 10.
Explore Docker Hub, a cloud-based service to build, link, and manage docker images with automated builds. Explore popular repositories and the community, including nginx, from the dashboard.
Explore how to search for images on Docker Hub with filters and formats, list and pull images, and push tagged images to a repository, including tagging and login steps.
Learn how a container is a running instance of a Docker image, created via copy-on-write under Linux namespaces, with its own file system, network, storage driver, and resources.
Compare docker container create and run using busybox, with interactive -it and detached -d flags and --rm; observe container IDs and statuses via docker ps -a.
Learn to manage containers using docker commands: start, stop, restart with a 5-second delay, and rename cc-busybox containers, verify status with docker ps -a, and note the rm flag consequences.
Attach to a running container to access its standard I/O and view busybox with ls, then use docker exec -it to run commands like pwd without stopping the container.
Demonstrate port mapping by binding host port 8080 to container port 80 with -p TCP, show how -P maps ports via EXPOSE, and verify nginx on localhost:8080.
Learn to remove docker containers by listing them and using rm with names or IDs, force deleting running containers, or docker container kill, then prune stopped containers to free resources.
Explore how multi-container apps communicate using docker network drivers and the docker network command, with IPAM, from single-host setups to future swarm clusters.
Explore the container networking model, including docker network and ipam drivers, the docker engine creating network objects and endpoints, and how containers communicate via ip addresses and container names.
Create docker networks with a bridge driver, name them, assign subnet and ip range, and filter to view bridge networks alongside default ones.
Connect a running container to user-defined and default docker bridge networks, verify connections with docker inspect, observe endpoint IDs and IP addresses like 172.17.0.2, and disconnect as shown.
Explore how docker volumes, bind mounts, and tmpfs mounts provide persistent and secure storage for containers, and understand how read-only and read-write layers influence what to back up.
Create and attach vol-ubuntu to a ubuntu container cont-ubuntu, then apt-get update and verify the mount and host data in /var/lib/docker/volumes.
Learn how docker compose defines and runs multi-container applications from a single file, coordinating containers, networks, and services with one command, simplifying complex docker engine setups.
Install docker compose by fetching the binary from the official GitHub release, saving it to user/local/bin, making it executable, and verifying with docker-compose --version showing 1.22.0.
Kindly download the codes for this lecture from resources section of Lecture 10.
Run docker-compose up to launch wordpress and mysql, creating the default bridge network and wordpress_files and db_data volumes, with db starting before wordpress and 8000 mapped to 80.
Learn how Docker Swarm coordinates containers across multiple hosts with a manager–worker cluster, delivering services with replicas and tasks via orchestrator, dispatcher, scheduler, and executor.
Install docker-machine from the official Git repo to set up multiple hosts as swarm nodes, install it to /usr/local/bin, and verify the installation with docker-machine --version (version 0.14).
Create and manage swarm nodes using docker-machine with boot2docker on VirtualBox, launching a manager and workers, inspecting nodes, and connecting to the manager via ssh.
Initialize a docker swarm on the manager with docker swarm init and advertise its IP. Then join worker-1 and worker-2 to the swarm using docker swarm join and the token.
Verify swarm membership by listing nodes with docker node ls and inspecting each node with docker node inspect to view IDs, hostnames, status, platform, resources, and engine version 18.06.1 CE.
Drain a node in swarm for maintenance, transferring tasks to other nodes. Verify with Docker node ls and Docker service ps, then leave the swarm to remove the node.
Demonstrates scaling a swarm service from 3 to 6 replicas with docker service scale, updating to nginx:alpine, verifying with docker service inspect, and cleaning up by removing the service.
Master Docker GUI with Kitematic to manage Docker host and Docker Hub images, create and run containers, and edit volumes through an interactive interface.
This Course takes you on a wonderful journey of learning Containers using key components of Docker Ecosystem. All you need is very basic knowledge of Linux fundamentals like files and processes along with a bit of Linux command line.
By the end of this course, you will be able to understand and appreciate Containers and Docker like a thorough enthusiast and work with them like a pro!
This Course is furnished with:
A carefully arranged and creatively illustrated sequence of topics starting with basic web applications and leading to cluster level container orchestration with swarm,
In-depth breakdown of Docker Ecosystem specific files like Dockerfile and Docker Compose file,
More than 30 Demonstrations of Docker command line, files and applications.
7 Quizzes to test your understanding and correct yourself if needed!