
Install and configure Visual Studio Code. Set the dark plus default theme and install the Docker and prettier extensions to simplify writing Docker configurations and code.
Master the foundation of docker and containers, including images, containers, data volumes, and networking, then tackle multi-container projects, docker-compose, AWS deployment, and Kubernetes basics.
Build and run a custom Docker image from a Dockerfile, then learn that images are read-only; to reflect code changes you must rebuild the image and restart the container.
Configure and manage Docker images and containers, including tagging, listing, inspecting, and removing images, and naming, configuring, restarting, and removing containers, with dash-dash-help guiding options.
Learn to manage docker images and containers with docker ps to list running and stopped containers. Restart a stopped container using docker start and verify the app on localhost 3000.
Understand how to run docker containers in attached and detached modes, compare docker run, docker start, and docker ps, and use docker logs and docker attach to access running output.
Explore how the Docker run command exposes and manages containers, focusing on the --rm flag to automatically remove a container when it exits, preventing leftover stopped containers.
Explore how docker images encapsulate code and environment, how containers share layers, and how docker image inspect reveals id, created date, ports, environment variables, and entry point.
Use Docker to package dependencies into images and run containers without global installs. Share images via Dockerfile or finished images and deploy from the official node image.
Learn to combine docker volumes and bind mounts, and use anonymous volumes to protect node_modules, ensuring npm install survives and updates reflect without rebuilding.
Set bind mounts to read-only with :ro to prevent container writes, keeping host edits. Use sub-volumes for writable folders like app/feedback and app/temp via docker run.
Dockerize a node app, build and run a container named favorites-node on port 3000, exposing it to the web and illustrating host MongoDB remains outside the container.
Explore docker networks that enable container-to-container communication by name within a shared network, using the --network option, without publishing ports.
Learn how Docker resolves IP addresses for outbound requests by using container names as domains within a shared network, and why Docker doesn’t modify your source code or browser requests.
Create a three-block app with a MongoDB database, a Node.js REST API backend, and a React frontend, then dockerize each service and persist data and logs.
Utilize volumes for logs and bind mounts for live code in the node backend, enable nodemon for automatic restarts, and secure credentials via environment variables with a .dockerignore file.
Bind the app source folder into the frontend container to enable live updates, and use a .dockerignore file to exclude node_modules and the Dockerfile, speeding up image builds.
Start and manage multi-service apps with docker-compose up and down, building images, creating networks and volumes, and cleaning up with prune and the -v option.
Learn to orchestrate a frontend and backend with docker-compose, using bind mounts, interactive mode, and smart rebuilds to run three containers on localhost:3000.
Explore how entrypoint augments docker run by appending commands to a restricted npm container, enabling controlled npm init and install with bind mounts and work directory.
Learn to create a level app using the composer utility container, run single containers with docker compose run --rm, and reflect the project in a bind-mounted source folder.
Target only the server, PHP, and MySQL services with docker-compose up, using depends_on to ensure PHP and MySQL start, and enable --build to refresh images.
Set up artisan container in docker compose to run level commands and migrate the database, override docker settings with docker compose, expose /var/www/html, and configure php and npm containers.
Explore how Docker containers create reproducible development and production environments, and learn deployment considerations from local host to remote servers, including build steps, bind mounts, and multi-container setups.
Learn how to build a Docker image and run a container on a remote AWS EC2 instance to deploy a demo application to a public web server.
Move to MongoDB Atlas to run a cloud database in production and development using the free M0 sandbox on AWS, with a connection string and secured access via IP whitelisting.
Create a build-only container by separating development and production Docker workflows: use a build step (npm run build) to generate optimized assets and a production server via multi-stage builds.
master multi-stage build targets in docker by using the dash dash target flag to build up to a chosen stage, enabling partial builds and flexible testing or running servers.
Revisit Docker core concepts and clarify how running Docker locally on the local host differs from the tools that matter there, then review deployment concepts learned earlier.
Demonstrates core docker commands for images and containers: docker build with a Dockerfile and build context, tag and version images, run containers, and push or pull on Docker Hub.
Learn how Docker and containers enable isolated, reproducible development on your local machine and seamless deployment to remote hosts, with simple updates by replacing containers.
Join this bestselling Docker & Kubernetes course and learn two of the most important development technologies from the ground up, in great detail!
-
Docker & Kubernetes are amongst the most in-demand technologies and topics you can learn these days.
Why?
Because they significantly simplify the development and deployment process of both simple and complex software projects. Especially in web development (though not limited to that), Docker can really take you to the next level!
With Docker, you create and manage so-called "Containers" - basically packages of code and tools required to run that code. These containers allow you to run your programs in a predictable, environment-independent way - no matter where you need to run it.
For modern DevOps (Development Operations) but also for local development - on your own or in a team - this is a winner feature since you will no longer have any "but it worked on my machine" discussions. It works inside of a container, hence it works everywhere!
This course will teach you both Docker & Kubernetes from the ground up with all the required theory and tons of examples and demos!
We'll explore all key concepts in detail and with practical examples and demos - from images and containers, over volumes and networking all the way up to deployment and Kubernetes Cluster: This course has it all!
In detail, this course includes the following topics:
A thorough introduction to Docker, containers and why you might want to use Docker
Detailed setup instructions for macOS and Windows
A deep-dive into the core concepts you need to know: Containers & images
Learn how to create custom images, use existing images and how to run containers based on such images
Get a detailed overview of the core commands you need when working with Docker
Learn how to work with data and how to persist data with volumes
Explore container networking - with the outside world and between multiple containers
Learn how to work with both single and multi-container projects
In-depth deployment instructions: Manual deployment and deployment with managed services like AWS ECS
Understand Kubernetes core concepts & architecture
Learn how to create Kubernetes resources, deployments, services and how to run your containers with Kubernetes
Dive deeply into working with data in Kubernetes projects - with different types of volumes
Kubernetes networking and DNS service discovery
Learn how to deploy your Kubernetes project (at the example of AWS EKS)
And much more!
All these topics are taught in great detail with slides and theory but also, most importantly, with many examples and demo!
You'll find tons of demo projects throughout the course - using programming languages like NodeJS, Python or PHP (with Laravel). You don't need to know these languages to follow along though, no worries!