
Discover docker fundamentals, from docker engine, images, and containers to docker compose and deployment, with hands-on commands and an interview preparation section to boost your devops career.
Discover how Docker containers package software with images, ensuring the same run on any machine, simplify microservices, onboarding, legacy apps, and machine learning model deployment.
Describe the Docker architecture, where the client talks to the Docker daemon on a host to pull images from a registry and run containers.
Compare virtual machines and containers, focusing on hypervisor isolation versus host OS sharing, and learn why VMs suit full OS apps while containers maximize density and speed.
Learn how to install Docker on Linux, choosing between Docker Desktop and server, verifying GPG keys and fingerprints, matching architecture, and running Docker commands with sudo to access the daemon.
Install docker on mac by downloading Docker Desktop for Mac from Docker Hub, installing the dmg package with privileged access, then verify with docker --help.
Take a foundational tour of Docker concepts, from the Docker engine, daemon, and client to networks, images, containers, and data volumes, preparing you for practical command usage.
Understand the docker engine as a client-server system with daemon, client, and REST API. See how the CLI uses REST API to command the daemon, build images and run containers.
Explore docker images as read-only operating system templates built from base images, with intermediate layers enabling caching, and learn to inspect, filter, and format image data.
Learn how Docker containers are runnable instances of images, with commands to start, stop, and attach storage. Understand container and image concepts and common management commands.
Explore how Docker storage uses writable container layers, volumes, bind mounts, and tmpfs to enable data persistence, cross-container sharing, and hyper performance.
Explore docker networking drivers, including bridge, host, overlay, macvlan, and none, and see when each suits single-host communication, swarm service orchestration, or legacy apps needing a mac address.
Discover a broad overview of Docker commands, from build, commit, copy, and run to images, logs, and stop, with guidance to use Docker --help for command details.
Discover how a Dockerfile, a text document of commands, enables automatic image builds via docker build by reading its instructions from the current directory.
Learn how docker compose defines and runs multi-container applications using yaml, configure services with images, volumes, and ports, and move toward hands-on labs.
Launch your first hello world container, pull the image from Docker Hub when missing, and use docker ps -a and docker images to track containers, images, and tags.
Run an Ubuntu container with Docker run, pulling the Ubuntu image if needed. Use -it for interactive sessions, detach safely with ctrl-p ctrl-q, and reattach with Docker attach.
Learn to manage docker containers: start and stop stopped instances, attach to running ones, and kill or remove containers. Use docker ps -q to automate removal with docker rm.
Manage docker images by listing image ids and sizes, removing images with docker rmi by name or id, and pruning unused images from Docker Hub or private registries.
Learn to run your first nginx container using docker run in daemon mode and -p port mapping, then use docker exec to run commands inside the container.
Run an Nginx container in the background with port mapping and a host-to-container volume. Edit the host's index.html to automatically reflect in the container.
Master building custom docker images with dockerfile syntax, using from, run, cmd, and entrypoint, then tag, build, and run containers.
Explore Dockerfile basics by using add to copy files from the host to the container, set the work directory, and understand run and entrypoint for building and organizing containers.
Explore docker compose to define multi-container applications with a human-readable configuration file, enabling orchestration across environments for development, testing, CI, and staging, while preserving data and updating only changed containers.
Learn yaml syntax, including document markers, lists with dashes, and nested key-value structures. Apply indentation with two spaces to show hierarchy, and use comments and inline or block formats.
Build a simple Python Flask app and run it in a docker-compose setup. Create a directory, write app.py, set up requirements.txt, and prepare to containerize and run the application.
Learn to write a dockerfile that packages a Python app with its dependencies, copies requirements, installs them, sets a work directory and Flask environment, and exposes port 5000.
Create and configure a docker compose setup for a two-service app, defining the web service with build context and port mapping to 5000, enabling one-command spin-up.
start and manage a dockerized flask app with docker compose up, inspect images and containers, review logs, map ports, and stop the project with ctrl-c.
Map host code into the container with Docker Compose bind mounts to enable live updates without rebuilding the image, using volumes to link the code directory to the container.
Use docker compose up and down to manage containers, run in detached mode with -d, and use docker compose run to inspect environment variables in the web service.
Explore how Docker containers package applications with their dependencies, how images are built and run, and how registries, namespaces, and daemons enable containerization across platforms.
explore docker basics for interview prep, covering docker save and load exports, container lifecycle and restart policies, image versus layer, and mounting volumes to link host data.
Learn docker and compose workflows, from starting and stopping services to viewing logs, in detached mode, and manage images, containers, and data volumes across Windows and Linux.
Explore docker compose essentials: manage container lifecycles, use json instead of yaml, and set up environment-specific docker compose files with depends_on for staging and production.
DevOps is a combination of software development and information technology operations that enables businesses to deliver applications at a faster pace. It brings together development and operations teams so there are fewer redundancies in the software development process.
DevSecOps is a culture shift in the software industry that aims to bake security into the rapid-release cycles that are typical of modern application development and deployment.
DevOps has revolutionized workplaces in many ways. The number of DevOps-related jobs are increasing, while its rank as an in-demand job.
DevOps is important because it's a software development and operations approach that enables faster development of new products and easier maintenance of existing deployments.
What is containerization?
Containerization is the packaging of software code with just the operating system (OS) libraries and dependencies required to run the code to create a single lightweight executable—called a container—that runs consistently on any infrastructure. More portable and resource-efficient than virtual machines (VMs), containers have become the de facto compute units of modern cloud-native applications.
What is Docker ?
Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels.