Description
With the number ONE Docker + Kubernetes mega-course, get ready for the future of Docker. We're glad you're here.
This is the most comprehensive and current course available for understanding and using containers from start to finish, from development and testing through server deployments and production. taught by a DevOps consultant and award-winning Docker Captain.
Just got introduced to Docker? Perfect. This lesson begins by presuming that you are unfamiliar with containers.
Or: Do you now use Docker and have to cope with practical issues? You have my support! Check out my production articles on topics like Swarm, Kubernetes, logging, rolling updates, and more.
Among the many fun activities you'll do in this course are:
- While it is being served up in a container, edit web code on your computer.
- Secure your apps with private networks that only open up the required ports.
- In the cloud, establish a 3-node Swarm cluster.
- Install Kubernetes and become familiar with the top server cluster tools.
- For integrated load balancing in your cluster, use virtual IPs.
- Boost your Dockerfiles for quicker builds and smaller deployments.
- Create and distribute your own unique application images
What is Docker?
Using OS-level virtualization, Docker's platform as a service offerings distribute software in packages known as containers. There are free and premium tiers for the service.
The Docker Engine is the name of the programme that runs the containers. Docker, Inc. created it, and it originally debuted in 2013.
An open-source container orchestration system called Kubernetes is used to automate the management, scaling, and deployment of software.
Kubernetes was first created by Google, but the Cloud Native Computing Foundation now looks after the project. The Greek word for "helmsman" or "pilot" is where the term Kubernetes comes from.
Google originally created Kubernetes as a portable, open-source, cloud-native infrastructure platform to manage their clusters.
It automates the scaling, deployment, and maintenance of containerized applications because it is a container orchestration tool. Compared to Docker Swarm, Kubernetes has a more intricate cluster topology.
Why should you learn Docker?
Efficient Development | Docker allows you to standardize your development environments, which speeds up development and guarantees that your code will function the same across all platforms. |
Portability | Docker allows apps and their dependencies to be packaged into containers that can then be moved effortlessly between development and production environments. |
Scalability | Using Docker's containerized approach, you can easily scale apps to meet the ever-evolving demands of your business. |
Isolation and Security | Because of the segregation provided by containers, programs can function safely and reliably without affecting one another. |
Faster Deployment | Docker simplifies application delivery by reducing time spent on deployment. |
Version Control | Docker images are like blueprints for your app, except they are versioned so you can easily roll back or switch between different versions. |
Collaboration | Docker promotes teamwork by standardizing development and testing environments. |
DevOps Integration | Docker was developed for use with today's DevOps workflows without causing any disruption. |
Cloud Compatibility | Large cloud service providers back Docker, making it easier to move apps to the cloud. |
Future-Proof Skill | Learning Docker is becoming increasingly important for developers and IT workers as the use of containers becomes more widespread. |
What will you require?
- Text editor and browser
- To install Docker on Mac, Windows, or Linux, you must have local admin access.
- Know the fundamentals of the command prompt or terminal.
- Shells, SSH, and package managers are fundamentals of Linux. (Tips for newbies are provided!)
- Fundamentals of building a server in the cloud (on any provider). (Tips for newbies are provided!)
- Fundamentals of web and database servers. (The usual methods of communication, IP addresses, ports, etc.)
- Accounts on GitHub and Docker Hub.
Syllabus
Quick Start
- Docker 2022 - Introduction and the Three Innovations
- Container Run
- Why and Why Now? - Docker
Course Introduction
- An Overview of Course Roadmap
- Materials for the Course (GitHub Repo)
- Chatting with Learners
- Q&A - YouTube
- FAQ
The Best way to Setup Docker for Your OS
- Setting up the Correct Docker for this Course
- How to Install Docker Quickly
- Windows Docker Installation and Tips
- Docker for Mac: Installation and Advice
- How to Install and Use Docker on a Linux Desktop
- Docker for Linux Server: Installation and Advice
- VS Code for Editing YAML, Docker, and DevOps
- Changes to Docker Version and Products
Creating and Using Containers Like a Boss
- See And Install and Configuration of Docker
- A Nginx Web Server is started.
- What Takes Place When We Run a Container?
- VM vs. Container: It's Just a Process
- Windows Containers: Should You Take Them Into Account?
- MySQL support on the arm
- Task: Control Several Containers
- Assignment Solutions: Control Several Containers
- 1st Container Test
- Container Activity: CLI Process Observation
- Use MariaDB in place of MySQL
- No Need for SSH for Getting a Shell Inside Containers
- Concepts for Private and Public Communications in Containers: Docker Networks
- FIXME: Removal of Ping Due To Change In Official Nginx Image
- CLI Management of Virtual Networks with Docker Networks
- DNS and How Containers Find Each Other in Docker Networks
- 2nd Container Test
- Use of containers for CLI testing in your assignment
- Using containers for CLI testing in assignment answers
- Modifications To An Assignment Due
- DNS Round Robin Test Assignment
- DNS Round Robin Test Answers for Assignment
Container Images, Where To Find Them and How to Build Them
- What's In A Picture—and What's Not
- Using Docker Hub Registry Images: The Mighty Hub
- Discovering the Image Cache with Images and Their Layers
- Image Tagging and Docker Hub Pushing
- The Fundamentals of Dockerfile: Creating Images
- Running Docker Builds to create images
- Expanding Official Images by Building Images
- Image Test
- Build your own Dockerfile and run containers from it for your assignment.
- Build your own Dockerfile and run containers from it in your assignment answers
- Keeping Your Docker System Clean Using Prune (YouTube)
Container Lifetime & Persistent Data: Volumes, Volumes, Volumes
- Lifetime & Persistent Data of Containers
- Volumes of data that are persistent
- Differences in Shells for Path Expansion
- Permanent Information: Bind Mounting
- Persistent Data Test
- Assignment: Named volume database upgrades
- Database upgrades with named volumes: Assignment Solutions
- Multiple Containers with Multiple File Permissions
- Assignment: Edit Code Executing in Bind Mounted Containers
- Edit Code Running In Containers With Bind Mounts: Assignment Solutions
- Containers containing database passwords
Making it Easier with Docker Compose: The Multi-Container Tool
- The docker-compose.yml file and Docker compose
- Compose v2
- Basic Compose Commands
- Multi-Tier Apps Version dependencies
- Assignment: Compose Compose File building for Multi-Container Project
- Assignment Solutions : Compose File building for Multi-Container Project
- Image Addition to Compose Files
- Assignment : Image Build Compose
- Assignment Solutions : Image Build Compose
- Quiz - Docker Compose
Swarm Intro and Creating a 3-Node Swarm Cluster
- Build-in Orchestration - Swarm Mode
- First Service Creation and Scaling in Locally
- Create / Update Service UI
- Using Multipass creation for Docker, Swarm and K8s VMs
- 3-Node Swarm Cluster Creation
- Quiz - Swarm Mode Basics
Container Registries: Image Storage and Distribution
- Docker Hub - A deep dig
- Docker Registry Understanding
- Private Docker Registry Run
- Docker Registry with TLS and Authentication - Assignment
- Docker Registry with Swarm
- Image Registry - Third Party
- Container Registries - Quiz
Kubernetes Install And Your First Pods
- Introduction to the Section
- Architecture Terminology - Kubernetes
- Local Installation
- Container Abstraction
- Kubectl Create, Apply and Run
- First Pod with kubectl
- Kubectl Cheat Sheets
- Kubectl create - First Deployment
- 1.18 Kubectl Run changes
- Kubernetes Objects Inspection
Exposing Kubernetes Ports
- Introduction to the Section
- Service Types
- DNS and MicroK8s Services
- Netshoot in Kubernetes
- ClusterIP Service Creation
- NodePort and LoadBalancer Service Creation
- Service DNS in Kubernetes
Kubernetes Management Techniques
- Introduction to the Section
- Create, Expose and Run Generators
- Kubectl Run - The Future
- Difference between Declarative and Imperative
- Three Management Approaches
Moving to Declarative Kubernetes YAML
- Introduction to the Section
- Applying Kubectl
- YAML Configuration for Kubernetes
- YAML Files Building
- YAML Specs Building
- Diff’s and Dry Runs
- Label Selectors and Labels
Automated CI Workflows
- Introduction to Automation
- The Pull Request
- Glue of DevOps - Automation
- PR Workflow - Intro
- PR Workflow - Intermediate
- PR Workflow - Advanced
GitHub Actions Workflow Examples
- Section Beginning
- responsibilities for this section
- Simple Docker Build
- Include BuildKit Cache
- Increase Multi-Platform Builds
- Embedding dynamic tags and metadata
- Add comments on GitHub
- Add CVE Image Scanning
- Block CVE Scan addition
- Integrate unit and system testing.
- Include the Kubernetes Smoke Test
- Bonus: Enhance GHA with Job Parallelization
- Place These Automations in Place
Docker Security Good Defaults and Tools
- Top 10 Security Measures for Docker, Section Intro
- Cgroups and Namespaces for Docker
- Out-of-the-Box Security Features for Docker Engine
- The Host Configuration Scanner, Docker Bench
- Running as root can be avoided by using USER in Dockerfiles.
- Additional Host Security with Docker User Namespaces
- Code Repository and CVE Image Scanning
- Content Trust, Sysdig Falco, and individual Seccomp and AppArmor profiles
- Rootless Mode for Docker
- The Top 10 Windows Container Security Differences
- Distroless Images: What Are They?
- Are Kubernetes and Swarm Secrets Really Secure?
Docker 19.03 Release New Features
- Intro to Section
- The New Docker buildx CLI and Buildkit
- SSH connections and Docker Context
- Image Packaging with YAML and Docker App
- Docker Engine Rootless Mode
- Docker Desktop Enterprise
- Docker Desktop Enterprise Clusters
DevOps and Docker Clips
- Discussion on DevOps and Docker
- Are Alpine Base Images actually safer?
- File Permissions and Handling Non-root Users in Containers
- Apache Web Server Architecture. One Container for Many Sites or Many Containers?
- Conflicts between the Docker Network's IP Subnet and Other Networks
- Docker-based Raspberry Pi development
- Process Isolation in Windows 10 Containers
- Should Postgres Be Moved to Containers?
- Running Multiple Apps In A Container Using Supervisor
- For a single server, should you use Docker Compose or Swarm?
- Configs, variables, and Entrypoints for the Docker Environment
- Using JBoss and Java in containers. One.war file per container, please?
- TLS in Dev and Prod using Docker
- From a Single Git Repo, Multiple Docker Images
- Using a Raspberry Pi or AWS A1 instance with Docker, or ARM and Docker
- Options for Docker and Swarm RBAC
- What distinguishes ENTRYPOINT from CMD in Dockerfiles?
- How to Use Docker External Storage
- Can a VM be converted to a container?
- With Multi-Container Apps, Startup Order
Dockerfiles and Docker Images in 2022
- Dockercon 2022 talk
- Node.js and Docker
Dockerfile and Compose File Reviews
- Intro to Section
- PHP Dockerfile Review
- Apache, PHP, and Alpine Dockerfile Review
- FPM Dockerfile and PHP review
- Elasticsearch Compose Stack File
Extra’s Common Questions and Resources
- Defaults for Node.js
- Defaults for PHP and Docker Projects
- Certifications (DCA and Kubernetes)
- Bonus
What you’ll learn?
- How to better build and test software on your computer using Docker, Compose, and Kubernetes.
- Learn official Docker and Kubernetes tools from a distinguished Docker Captain!
- Learn more quickly with the free online chat group (50,000 members!) and the regular live Q&A sessions.
- Learn how to create environments where your code will execute in containers.
- Create clusters using Swarm and Kubernetes for server deployments!
- Learn by doing the best ways to create Compose and Dockerfiles like a pro!
- Create and distribute your own unique photos.
- To store your apps and distribute them in corporate contexts, create your own image registry.
Who can enroll this course?
- Any degree of IT professionals, operators, and software developers.
- Any person who develops, distributes, or manages software on servers.
Course Duration
- Course Duration
- 200+ Lectures and 34+ Hours of on Demand HD Videos
- Certificate of Completion
- 5214+ students enrolled
- Complete Practical Training
- Watch Videos on Android and iOS App, TV, Computer & Tablets