
Explore containers as a lightweight solution that packages an application with its libraries and dependencies into an isolated runtime environment, reducing conflicts and improving deployment.
Learn to install Docker Engine on Linux (Fedora 34), set up the Docker repository, start the Docker service, and verify with Docker info and Docker version via docs.docker.com.
Learn how to create your first container, list and run containers, pull Ubuntu from Docker Hub, and observe container states from run to exit.
Pull and run container images from Docker Hub, including nginx, understanding the flow from Docker host to registry, and manage containers by listing, stopping, and removing them.
Learn to run Docker containers in the background with the detach option, then switch to an interactive session with -i and -t, and safely detach with Ctrl-P Ctrl-Q.
Learn how to delete all stopped docker containers with a single command by combining docker container ls -aq and docker container rm, including troubleshooting common command syntax issues.
Learn to retrieve full details of a running Docker container using Docker inspect, including container ID, image, IP address, and exposed port 80.
Learn to view logs and stats for running Docker containers, compare container processes to host processes, and understand why containers are lightweight compared with virtual machines.
Demonstrate port forwarding by exposing an nginx container on a docker host, mapping host port 3600 to container port 80, and accessing the web server via the public IP.
Learn to access a running docker container with docker container exec -it and bash, rename the container with docker container rename, and restart it with docker container restart.
Learn how to attach a running background container to the foreground with Docker container attach, inspect its IP, and observe container state changes from running to exited.
Learn to manage Docker containers by using stop versus kill, pause and unpause, and the wait command to monitor state, then prune to remove stopped containers.
Learn how to create and start containers with docker container create and docker container run, compare their differences using diff, and copy files with docker container cp.
Explore docker export and import commands by turning a configured CentOS container into a tar archive and importing it on another host to recreate an image, and verify vsftpd.
Commit a running docker container to a new image with author and message, verify with docker image ls, then run a container from it and optionally push to Docker Hub.
Learn to pull a specific version image from Docker Hub and push your own created image, using docker pull with tags like CentOS 8.3.2.01 and Ubuntu 20.04.
Tag your local Docker image, log in to Docker Hub, and push the updated CentOS image to your repository, showcasing practical image management and deployment.
Learn to review and inspect Docker images, format listing output with repository and image id, view image history, inspect details, and remove or prune unused images.
Learn how to create and automate Docker images with a Dockerfile, detailing layers, layering, and the Docker build process using -f and -t flags, including centos7 as a base image.
Build a centos 7 image with a Dockerfile by layering base from centos, installing httpd and vsftpd, and adding files across successive images; tag, run, and verify packages.
Learn to label images with name, email, and address; set env variables with env; and run commands during image creation using Docker build.
Explore how the workdir parameter sets the container's landing directory to /tmp, affecting subsequent present working directory outputs and file locations across dockerfile steps and containers.
Learn how copy and add differ in dockerfiles: add extracts tar content, while copy copies files, with practical steps creating dirs, tarballs, and a user account with a password.
Create a dockerfile that adds a user via a variable name and password, switches to that user, and verifies access by inspecting /tmp inside a running container.
Learn to build a docker image by installing ftp and python during image creation. Configure CMD to launch the ftp or python prompt when the container starts.
Learn to ssh into a running docker container by building a CentOS image with OpenSSH, configuring sshd for password authentication, and connecting via ssh.
Learn how the expose command forwards a Docker host port to a container port, enabling ssh access on port 49153 mapped to container port 22.
Explore configuring a Docker container as an executable using entrypoint in a Dockerfile. Compare entrypoint with CMD and practice with ls and tree commands while building images and running containers.
Learn how to persist data in Docker by using volumes and bind mounts, overcoming the writable container layer and leveraging the host file system for reliable storage.
Learn how to persist data in Docker by creating and naming volumes for a MySQL container, mount volumes at /var/lib/mysql, and recreate containers without losing data.
Create a docker volume named oracle db, inspect its mount point, and attach it to a CentOS 8 container, mirroring host contents in the data oracle db path.
Learn how to delete unused docker volumes from the host, using docker volume prune, remove attached volumes with docker container rm, and remove volumes with docker volume rm.
Demonstrate bind mounts by mounting a host directory into a container using absolute host paths, contrasted with volumes, and practice with -v and --mount options.
Explore docker bridge networking with docker0 and veth, showing how containers reach the internet via the host and how -P maps container port 80 to a host port.
Learn to create a docker bridge network with subnet 172.18.0.0/16, attach containers to docker0 and docker1, and verify ping connectivity within the same bridge before cross-bridge communication in next lecture.
Map the nginx container port to the docker host to enable cross-bridge communication between containers on different networks, using -p hostPort:containerPort.
Learn how DNS works with a custom Docker bridge by creating two containers on a test bridge, then compare IP and hostname ping to reveal DNS resolution.
Master host networking in docker, where containers share the host network namespace and use the host IP, enabling port binding without NAT on Linux for performance.
Explore none networking in Docker to run containers with no IP address, isolated from external networks and other containers, featuring loopback only for batch jobs and secure testing.
Connect one or more networks to a running container with docker network connect, disconnect on the fly, and use bridge as the default network.
Create a private docker registry to host organization images. Deploy a registry container, manage volumes, and tag, push, and pull images from the local repository.
Practice private docker registry by tagging and pushing images from localhost, enabling insecure registries via daemon.json, and verifying the catalog at 127.0.0.1:5000/v2/_catalog.
Define your app environment with a Dockerfile, configure multi-container services in a docker-compose.yml, and start all services at once with docker compose up.
Learn how to install Docker Compose on Linux by running the download command, granting executable permission, creating the binary link, and testing the installation.
Learn to create a docker compose file in yml to deploy nginx webservers, map ports, and manage containers with docker-compose up, including multiple services and custom filenames.
Create docker compose files in json by converting from yml and deploying two containers with docker compose -f json up -d, then verify via docker container ls and browser access.
Learn basic Docker Compose commands and workflows: create and up, no-start, start, stop, rm, and down; observe that up creates networks and containers, while create is deprecated.
Learn basic docker compose commands to manage containers, view status and ports with docker compose ps and docker container ls, and pause or unpause containers to control state.
Learn basic docker compose commands, including ps, kill, and start, examine port mappings with docker-compose port, and contrast run vs exe while viewing logs with docker-compose logs.
Learn to run and scale two nginx web servers with docker compose, use the up command with the -f scale flag to scale, and inspect container processes with docker-compose top.
Learn to use docker compose to run an nginx web server, attach a host volume, and map port 5050 to 80 for seamless file sharing between host and container.
Build a custom nginx-based image with docker compose by creating a Dockerfile and docker-compose.yml, then run docker compose build and up -d with a volume that maps a host directory.
Reach the last lecture of this Docker training bootcamp, review what you learned, and ask questions via the course Q&A form or by messaging me for exam and career guidance.
Section 1: Introduction
Introduction about containers
Installation of Docker
Create a first container
Fetch container image from docker hub
Run a container in backgroup, interactive with tty terminal
Delete exited dockers using a single command
Get complete details of a running container
Check logs & stats of a running container
Port forwarding
exec, rename & restart the running container
Attach a container
Kill/stop, pause/unpause a container
Create, start, cp command
Export/Import Command in Docker
Create a image from running container
Pull a specific version image from Docker hub
Image history, inspect & remove image
Section 2: Dockerfile
Overview of Dockerfile, layered architecture
Create a centos 7 image using Dockerfile
Overview of LABEL, ENV & RUN Command
Overview of WORKDIR
Copy, add command with their differences
Create a user account with password using dockerfile
CMD Command
SSH to a container
Overview of EXPOSE Command
ENTRYPOINT in Dockerfile
Section 3: Manage Data in Docker
Overview of managing data in Docker
Volumes
Create & attach a volume to a container
Delete volumes from the Docker host machine
Bind mounts
Section 4: Networking in Docker
Bridge networking
Run containers in custom created bridge networking
Enable communication between dockers belong to different bridge network
DNS enabled with custom bridge networking
Host networking
None networking
Connect one or more network to a running container
Create private docker registry
How to allow image in private registry for non-secure network
Section 5: Docker Compose
Overview of docker compose
Docker compose Installation
Create my first docker compose file
Create docker compose file in json language
Learn basic commands
docker-compose up
docker-compose down
docker-compose create
docker-compose start
docker-compose stop
docker-compose rm
docker-compose images
docker-compose ps
docker-compose pause
docker-compose unpause
docker-compose kill
docker-compose port <servername> port
docker-compose logs
docker-compose exec
docker-compose run
docker-compose scale
docker-compose top
Attach a volume & port mapping using docker compose
Build a custom image using docker compose
Last lecture