
Explore how Docker containers package an application with its dependencies into lightweight portable units for deployment on any platform, and gain orchestration basics for the DCA certification.
Explains the portability problem of applications across development and testing environments, and contrasts heavy virtual machines with containers, the portable unit behind Docker.
Explore how containers package an application with its dependencies, isolate user space from the host, and enable lightweight, platform-independent deployment with the Docker container engine.
Learn how Docker containers package your application and its dependencies for consistent runs on any Linux kernel host, with lightweight isolation and easy sharing via Docker Compose and Swarm.
Compare Docker community and enterprise editions, highlighting universal packaging for containerized apps, a rich CLI, built-in orchestration, default security, virtual networks, and extensible integration with third-party systems.
Compare docker toolbox and docker for mac on mac os, show toolbox installs docker, compose, and docker-machine via a default vm, and explain why toolbox is chosen for this course.
Learn how to install Docker Toolbox on Mac OS, including downloading the installer, running the package, and using the Docker Toolbox terminal with a VirtualBox VM to run Docker commands.
Install docker on ubuntu by updating packages, adding the official GPG key, and configuring the repository for the latest stable release. Then test with a hello world container and set up a docker group to run commands without sudo.
Create your Docker ID and sign in to access the Docker Hub dashboard, where you can create repositories, manage organizations, and browse official reports and images.
Verify your docker installation by checking the versions of docker, docker machine, and docker compose. Mac users may use the quickstart method for proper setup.
Run a hello-world image to test the Docker installation; the daemon pulls from Docker Hub, creates a container, and executes it, streaming output to the console.
Discover the Docker architecture, from the daemon and client to registries, images, containers, and volumes, and learn how to build, push, pull, and manage them.
Create your first docker file to learn its format, including the base image via a from instruction, a maintainer, and the container startup command, all within a root directory.
Discover how the .dockerignore file uses patterns and comments to prevent specific files and directories from being copied into the Docker context or container, and how to create exceptions.
Learn how the escape parser directive sets a universal escape character to apply parsing rules to a doc file, enabling newline escaping and cross-platform compatibility, especially on Windows.
Build a custom docker image from an ubuntu base using a dockerfile. Copy a file from Google Drive into the container with add, then run and attach to verify transfer.
Explore Dockerfile fundamentals by using from, arg, env, run, workdir, copy, label, and cmd. Compare cmd with run, build images, and run containers to verify the image.
Learn how the Docker entrypoint instruction fixes the container's starting point using the exec form of CMD, with arguments overridable at run time.
Explore how the onbuild instruction in a base image triggers downstream build steps, enabling application builders to run source-related commands during downstream Dockerfile builds.
Apply the stop signal instruction to gracefully exit a Docker container after a task completes by passing a valid signal value or signal name.
Save the container as a new image and share it by pushing to a Docker Hub repository, then pull it from a registry to run elsewhere.
Create a container from an image, commit changes to a new Docker image, tag it for a repository, log in to Docker Hub, and push the image.
Learn to save Docker images to tar archives and load them on another host, enabling compressed backups and easy sharing without using Docker Hub.
Learn to use the docker search command on the Docker Hub registry, review fields like automated builds, stars, and official status, and apply filters with format options.
Learn to use docker inspect to view details of a locally stored image, selecting a tagged image (for example 16.04) and examining its id, digest, layers, architecture, and operating system.
Remove dangling and unused docker images with docker image prune, using --all and --force, prune images older than 200 hours, and verify with docker images.
Learn to remove Docker images using the Docker image rm command, including deleting specific images like BusyBox, and using Docker rmi to remove multiple images efficiently.
Create a container from a local image and from one pulled from Docker Hub; start and stop containers to explore their states, using interactive and teletype options.
Learn how to restart a docker container using the docker container restart command, view all containers with docker ps -a, and restart one or multiple containers by name or ID.
Discover how to connect to a running container using docker attach, launch with docker run -d -t, and interact with the shell before detaching.
Use docker exec to run a bash session inside a running container without attaching to the main process, and exit without stopping the container.
Examine your container details with docker inspect to view full metadata, including container ID, network settings, and IP address, and learn to extract specific data from running or stopped containers.
Explore how to view Docker container logs, select a running container, and limit output to the last 10 lines with the appropriate option using the docker logs command.
discover how to debug docker containers by viewing the running processes with docker container top, including process IDs, users, and commands across multiple containers.
Remove unused containers with Docker prune to reclaim space and tidy your Docker environment. Observe how the command prompts for confirmation and shows which containers were deleted.
Learn to remove specific docker containers with docker container rm, handle running vs stopped states, use --force, and delete multiple containers by ids.
Explore how to use docker kill to forcefully stop an unresponsive container, compare it with docker stop’s graceful shutdown, and understand main process termination and zombie containers.
Learn how to rename an existing docker container by listing containers with docker ps -a, applying the docker rename old_name new_name command, and confirming the new name appears.
Learn to use the docker container diff command to reveal filesystem changes since creation, after inspecting with docker exec, listing changes, and removing directories.
Learn to save a running container's changes as a new image using docker container commit, verify with docker images, and spin up new containers from the created image.
Learn to map container ports to the host with docker run -p, publish ports to the host, and inspect mappings using docker container port and the -P option.
Write a dockerfile for an nginx app using a base image, volumes, copy, and expose, then build and run the image with port 80 mapped to the host.
Explore why containers need storage and compare volumes, bind mounts, and ephemeral mounts, including how each stores data on the host and affects persistence and performance.
Docker volumes stored in the host filesystem at /var/lib/docker/volumes are mounted into containers, not tied to directories, enabling shared data with read-write or read-only access and easy backup.
Explore bind mounts in Docker by mapping an absolute host directory into a container, sharing configuration files or source code, noting directory existence and potential obscuring, with performance benefits.
Explore tmpfs mounts in Docker, where data resides in the host memory and appears as a normal directory inside the container, offering non-persistent storage for security or performance.
Create a new docker volume, list existing volumes to verify, set the volume name, and recheck with docker volume ls to confirm its creation.
Learn to start a busybox container with a named volume, using -v and --mount options, verify with Docker volume ls and Docker inspect, and mount volumes at a container path.
Attach a read-only volume to a container by using docker run to mount a volume with read-only privileges, and verify with docker volume ls and docker inspect.
List local Docker volumes, select one from the list, and run docker volume inspect to reveal its mount point and name; repeat for another volume to view similar details.
Learn how to remove unused Docker volumes, including those not attached to containers, using the Docker volume prune command; reclaim space and list deleted volumes.
Create a new Docker volume named ball and attach it to an Ubuntu container. Write a message file in the volume, then exit and verify contents from the default VM.
Learn to start a docker container with a bind mount by specifying type=bind, a host source directory, and a container target, then inspect mounts and test read-only privileges before cleanup.
Start a container with a tmpfs mount via docker run, naming it desk busy box and mounting the flash app directory to host memory with read-write access.
Explore container orchestration with Docker Swarm, learning how to deploy containers across a cluster, ensure high availability with replicas, and manage secrets, scaling services and load balancing.
Provision a docker swarm cluster by creating four docker-machine nodes with docker toolbox, including one manager and three workers, then inspect their IPs and daemon ports.
Log into the swarm manager, initialize the swarm with the advertised address, and use join tokens to add workers and managers; verify the swarm with docker info.
Deploy a service on a swarm by creating four replicas, publishing port 80 to the host, and verifying even distribution across nodes before accessing the home page.
Scale our internet service to eight replicas, observe replicas being created, reach convergence, confirm all eight run, and see even distribution across four nodes.
Explore how to inspect nodes in a docker swarm from the manager using docker node inspect, revealing each node’s role, availability, ready state, IP address, and certificate details.
Explore draining a swarm worker to perform maintenance by updating node availability with docker, while ensuring services keep running on remaining nodes and replicas shift accordingly.
Update a docker swarm service to deploy the latest engine x image across all replicas, then delete an unused service with docker service rm and verify removal.
deploy an app to all Docker Swarm nodes with a global service, creating one container per node, and verify distribution; compare with a three-replica replicated service.
Learn how to create and use Docker secrets in a swarm, attach them to a multi-replica service, access them from /run/secrets, and remove secrets safely.
Learn how to remove a worker or manager node from a docker swarm using docker node ls and docker node rm, and confirm the node is removed.
Promote a worker to a manager and demote a manager back to a worker in a Docker swarm, illustrating that multiple managers can exist but only one leader.
Explore docker network drivers: bridge, overlay, macvlan, and host networks. See how each supports container communication, isolation, port exposure, multi-host networking, and encryption.
Learn to create a bridge network with docker, list existing networks, and set the bridge driver, then configure subnet, ipam, and gateway for a local network.
Learn how to attach a container to a custom Docker network, compare with the default bridge, and disconnect or verify network membership using Docker connect, disconnect, and inspect.
Inspect Docker networks with the network inspect command to view driver, gateway, scope, and containers connected to the default bridge network and a custom Ashbridge network.
Provision an overlay network in Docker Swarm, deploy a service on it with replicas on port 80, verify status, and safely remove the overlay network after cleaning up.
Demonstrates creating a test container using Docker, connected to the host network, exposing port 80 to the host, and validating access to the engine X application via the host IP.
Learn how to prune and remove docker networks by disconnecting containers, listing networks with docker network ls, and deleting unused networks with docker network rm and docker network prune.
Install docker enterprise edition on ubuntu, configure license key, add repository, install, test with a hello world container, and set up universal control plane for container management.
Install the universal control plane (UCAP) on Ubuntu and verify system requirements. Open firewall ports, deploy the UCAP Docker image, and set admin credentials for the web UI and license.
Create and manage users and teams in UCP, assign admin privileges, and organize users into organizations and departments to control access for Docker and DCA certification.
Learn how to create a collection, grant permissions via UCAP grants, assign full control to an admin collection, and link teams to roles, uncovering permission scopes and limitations.
Create volumes in the UCAP web UI by using the left panel, naming the volume, and selecting a collection, then mount it to every node in the swarm.
Install the docker trusted registry on a host by running the DTR container with the appropriate port, then log into the UCAP dashboard and verify the registry is up.
Create, configure, and delete docker image repositories in the DDR dashboard, set visibility and immutability, run scans, and manage image pulls with provided commands.
Push and pull docker images to and from the docker trusted registry (DTR) by signing in, creating a private repository, tagging images, and managing pushes and pulls.
Navigate the deep dashboard to delete a specific image version from a DTR repository, confirm the deletion, and refresh to verify the image no longer appears.
Organize access by creating an organization and teams, then add and assign members as regular or admin users, enabling controlled resource access in the registry.
Set and manage repository permissions in Docker Trusted Registry by creating an organization, adding a content team, and configuring read-only to read-write access, with advanced immutability settings.
Navigate the Docker certified associate exam details, including 55 questions in 80 minutes, remote proctoring, eligibility, fees, study resources, and security requirements.
Explore the Docker exam curriculum, covering swarm orchestration, images and volumes, installation and networking security, and registry push/pull, plus scaling replicas and storage options.
Docker is a tool which has greatly simplified the task of packaging your application, along with all its dependencies into lightweight, portable units called containers. These containers are platform independent and can be executed on any host which runs a Linux kernel.
Docker is one of the hottest tools in the market right now as a lot of teams have learned how to use it to break up their large, monolithic applications into smaller and more manageable units - often called microservices. This has allowed development teams to work on microservices independently and package it into a container once it is ready.
Docker has also eased the pain of DevOps teams who often need to manage the deployment processes and environments - since containers can run independently of each other, they can simply focus on deploying containers rather than worrying about dependencies for each application.
Container orchestration tools such as Docker Swarm and Kubernetes have made it very easy to deploy microservices to a cluster and scale them according to demand.
For these reasons, Docker is a technology which you need to know if you're an app developer or DevOps engineer.
This course introduces you to all the main concepts of Docker, and focuses on getting you up and running with the tool in all the lab sections. The main topics of this course include:
Images: Templates to define your container
Containers: What they are and how Docker helps you create them
Storage: Volumes, Bind Mounts and tmpfs to manage data in containers
Networks: Regulate connectivity to your containers whether on individual hosts or in a cluster
Docker Swarm: The built-in container orchestration tool
Docker EE, UCP and DTR: The enterprise offerings of Docker
Hope you enjoy the course!