
Join the private Facebook group to connect with the instructor and peers, practice as you learn, ask questions, and explore this awesome technology called Docker.
Docker runs applications in isolated containers that share the host operating system, delivering fast, efficient deployments and consistent environments from development to production, simplifying packaging.
Install Docker, verify the installation by using the terminal and Docker commands, and ensure the Docker daemon is ready so you can get Docker up and running.
Learn how images act as templates and snapshots that bundle the operating system, software, and application code. Run containers as instances from images, enabling deployment and rollback in production.
Pull and run a container from an image on Docker Hub, exploring official images like engine X, understanding tags and the latest tag, and listing locally pulled images.
Run a container from the engine x latest image in detached mode with docker run -d, then verify with docker container ls or docker ps to see port 80.
Map host ports to container ports in Docker by using the -p flag, exposing port 80 to port 80 on the container, accessible via localhost.
map multiple host ports to the container’s port 80 using the -p flag, as 3000 and 1880 are routed to 80 and tested successfully.
Learn to stop, start, and name containers; list running, or all containers with docker ps; and remove containers individually or in bulk using docker rm and docker rm -f.
Name your docker containers with --name to simplify management and avoid relying on IDs. Learn to view and control named containers with docker ps, docker stop, and docker start.
Learn to format docker ps output with a custom format, displaying the container id, name, image, ports, and status for easier reading, and reuse the format via a variable.
Discover how Docker volumes share data between host and container and between containers, and mount a host directory into an engine x container to override the default welcome page.
Mount a host web site folder as a volume to a container to serve the index file with engine X, then compare read-only and writable volumes across host and container.
Update and customize a site by swapping in a bootstrap grayscale template, then run it in a docker container with volumes and deploy using nginx.
Master sharing a volume between containers with docker run --volumes-from, creating web site and web site copy containers and mapping ports 80 and 81 to verify identical content.
Create your own images with a Dockerfile by listing steps to build an image, using commands like from, run, copy, entrypoint, and args.
Create a custom image by using a Dockerfile with from engine X, copy all files into the image, and run containers without host volumes to serve the static site.
Install Node.js, initialize npm, and build an API with Express. Create index.js, run on port 3000, return a user object and a users array, then use docker.
Create a dockerfile for an express js api using a node base image, set a working directory, copy files, run npm install, and build with docker.
Run a built Express API container from latest image using Docker, mapping host port 3000 to container port 3000, and verify API and site are running on mapped ports.
Learn how to optimize Docker builds by using a .dockerignore file to exclude node_modules, core modules, Dockerfile, and other unnecessary files, ensuring npm install runs efficiently inside the container.
Discover how Docker builds images in layers and uses caching to speed up builds, reusing earlier steps while only re-running after changed source code and npm install.
Optimize Docker builds using a cache-friendly multi-step Dockerfile. Set a working directory, add package.json and package-lock.json, run npm install, then copy source and run node, using caching.
Learn to reduce Docker image sizes by using the Linux Alpine distribution, a small, simple, and secure option with a container footprint under eight megabytes and a minimal installation.
Pull alpine based docker images for node and nginx to reduce image size from the latest tags to alpine variants, gaining faster pulls and smaller containers.
Switch to alpine-based images to reduce Docker image sizes. The user service API drops from almost a gig to 117 MB, and the website from 134 MB to 30 MB.
Pin tags and versions for Docker images to control what your app uses and avoid breaking changes. Lock to specific versions like Node 8-alpine to ensure security patches and upgrades.
Choose specific version tags for nginx and api images to gain full control, using alpine variants from docker hub, then build and run containers to verify everything works.
Learn to build and tag docker images for web site and api, use versioned tags (including latest), and run containers exposed on local ports to verify.
Learn how tagging docker images with the same tag, especially latest, overrides existing images and interacts with cache, while using docker hub and alpine during builds.
Tag and manage docker images by creating and labeling tags (latest and versioned tags), building images from a site update, and running multiple containers to compare versions.
Learn how to run docker containers with different tags, compare latest and versioned images, test across versions, roll back to a stable version, and push images to a container registry.
Sign in to Docker Hub, create a public repository named Web site, and push your site and API images to the registry with docker push.
Push and tag docker images to docker hub by authenticating, tagging sources, and pushing versioned and latest tags, then verify the images appear in your repository.
Push your web site images to Docker Hub, pull them from your registry with the default latest tag, and run a container exposing port 9000 to view locally.
Learn how to inspect a running docker container to view its full configuration, including id or name, image, state, port bindings, environment variables, host config, and graph driver.
Learn to view and follow docker container logs with -f, inspect requests with docker logs and docker ps, and ship logs to elastic search.
Learn to enter a running container using docker exec -it to explore the Linux file structure and debug inside by inspecting the API's working directory and the /app path.
learn to use docker registries, volumes, images, and containers, deploy docker hub images to a server, and run on cloud platforms such as google cloud or aws.
Packaging you applications with Docker means that it runs in all environments as it does in you local machine. Docker is a tool that has changed how applications are deployed. Virtual machines are not being used as much as they with the adoption Docker, this has made docker the standard in the software industry.
In this course you will learn
What is Docker
The benefits
Images and Containers
Debugging
Docker Registries
Best practices to build docker Images
If it works on my machine it works on your machine.
Join me in the course to learn the one the best technologies in the last 10 years.