User Tools

Site Tools


products:ict:devops:docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
products:ict:devops:docker [2021/10/20 19:16] – created wikiadminproducts:ict:devops:docker [2023/10/19 03:24] (current) wikiadmin
Line 1: Line 1:
 +Docker is a widely used open-source platform and tool for containerization, which is a technology for packaging and running applications and their dependencies in a consistent and isolated environment known as a container. Docker has revolutionized the way software is developed, shipped, and deployed by making it easier to create, deploy, and manage applications in a lightweight and portable container format. Here's an overview of Docker:
 +
 +**Key Concepts:**
 +
 +1. **Container**: A container is a lightweight and standalone executable package that includes an application, its runtime, libraries, and system tools, all bundled together. Containers run consistently on any environment that supports the Docker platform.
 +
 +2. **Docker Engine**: The Docker Engine is the core component of Docker. It is responsible for running containers and managing images, as well as providing the necessary APIs and tools for interacting with Docker.
 +
 +3. **Images**: Docker images are read-only templates used to create containers. They contain everything needed to run an application, including code, runtime, system tools, and libraries. Images are stored in a registry, such as Docker Hub, from which they can be pulled and run as containers.
 +
 +4. **Containers**: Containers are instances of Docker images that run as isolated processes on the host system. They are lightweight, fast to start, and can be easily created, destroyed, and scaled.
 +
 +5. **Dockerfile**: A Dockerfile is a text document that contains instructions for building a Docker image. It specifies the base image, software installation, configuration, and any other steps required to create a container.
 +
 +6. **Docker Hub**: Docker Hub is a cloud-based registry where Docker users can find, share, and store Docker images. It contains a vast collection of public images, and users can also store their private images.
 +
 +**Key Features:**
 +
 +1. **Portability**: Docker containers are portable, meaning they can run consistently across various environments, such as development, testing, staging, and production, as long as Docker is available on those platforms.
 +
 +2. **Isolation**: Containers provide a high degree of isolation, ensuring that applications do not interfere with each other and do not affect the underlying host system.
 +
 +3. **Efficiency**: Containers are lightweight, and multiple containers can run on a single host, making efficient use of resources and allowing for higher density on a single server.
 +
 +4. **Versioning**: Docker images can be versioned, making it easy to roll back to previous versions of an application if needed.
 +
 +5. **Microservices**: Docker is commonly used for building and deploying microservices-based architectures, where different parts of an application are containerized and can be managed independently.
 +
 +6. **Scalability**: Docker containers can be easily scaled up or down based on demand, making it well-suited for auto-scaling in cloud environments.
 +
 +7. **Orchestration**: Docker provides tools for container orchestration, such as Docker Compose for defining multi-container applications and Kubernetes for managing containerized applications in a cluster.
 +
 +8. **Security**: Docker provides security features, including isolation using Linux namespaces and cgroups, as well as support for security profiles and policies.
 +
 +**Use Cases:**
 +
 +Docker is used in various scenarios, including:
 +
 +- Application development and testing.
 +- Continuous integration and continuous delivery (CI/CD).
 +- Creating development environments that match production.
 +- Packaging and distributing software.
 +- Running microservices architectures.
 +- Building scalable and resilient applications in the cloud.
 +
 +Docker has had a significant impact on modern software development and deployment practices, providing developers and operators with a consistent, efficient, and flexible way to work with applications and their dependencies.
 +
 +
 +
 +[[https://www.youtube.com/watch?v=eGz9DS-aIeY|you need to learn Docker RIGHT NOW!! // Docker Containers 101]]
 +
 +[[https://stackoverflow.com/questions/42158596/can-windows-containers-be-hosted-on-linux|Can Windows containers be hosted on Linux?]]
 +
 +[[https://certsimple.com/can-you-use-docker-to-run-windows-programs-on-linux/|Can You Use Docker To Run Windows Programs On Linux?]]
 +
 +[[https://www.youtube.com/watch?v=bKFMS5C4CG0|
 +Docker networking is CRAZY!! (you NEED to learn it)]]
 +
 +
 +
 +Master in DevOps : Docker Jenkins GIT CI Pipeline and Maven
 +
 +https://www.udemy.com/devops-training/
 +
 +
 +What you'll learn
 +
 +An understanding of DevOps and the modern DevOps toolsets
 +
 +    The ability to automate all aspects of a modern code delivery and deployment pipeline
 +
 +    Understand the concepts of continuous inspection, continuous integration, and continuous deployment, and the difference between them.
 +
 +    Containerize a web-based application with a microservice approach and automate it using Dockerfile
 +
 +    Create a multi-stage Jenkins job and visualize the complicated build pipeline with Jenkins build pipeline plugin.
 +
 +    Hand's-on with best practices for making Dockerfiles and Compose files like a Pro!
 +
 +    Create and manage repositories on GitHub
 +
 +    Manage project defects or enhancement requests with GitHub Issues
 +
 +    And many many more…
 +
 +
 +
 +Understating of DevOps & DevOps Process
 +
 +Introduction
 +
 +Preview
 +
 +What is DevOps || DevOps Tools
 +
 +Preview13:43
 +
 +Continuous Development
 +
 +09:58
 +
 +Continuous Testing
 +
 +04:06
 +
 +Continuous Integration
 +
 +12:39
 +
 +Continuous Deployment & Monitoring
 +
 +08:32
 +
 +–**GIT** Introduction & Installation
 +
 +42:35
 +
 +Git | WelCome & Goal
 +
 +01:44
 +
 +Audience & Study Tips
 +
 +02:24
 +
 +Key GIT Terminology
 +
 +04:40
 +
 +GIT Introduction
 +
 +20:30
 +
 +Install GIT on LINUX
 +
 +04:23
 +
 +Download and Install GIT on Windows
 +
 +08:54
 +
 +–GIT Quick Start
 +
 +40:45
 +
 +Configure User Information in GIT
 +
 +09:27
 +
 +Create First GIT Repository
 +
 +09:24
 +
 +First GIT Commit
 +
 +09:23
 +
 +Adding Files and GIT Logs
 +
 +06:42
 +
 +Understanding of GIT Workflow
 +
 +05:49
 +
 +–Bonus on Other Course
 +
 +00:55
 +
 +Bonus Lecture: Get my other courses at the maximum discount!
 +
 +00:55
 +
 +–Text Editor for GIT **Installation**
 +
 +23:40
 +
 +GIT Text Editor OverView
 +
 +01:41
 +
 +Install SubLime Text on Linux
 +
 +04:03
 +
 +Configure SubLime with GIT
 +
 +05:56
 +
 +NotePad ++ As GIT Editor for Windows
 +
 +12:00
 +
 +–Version Control System GIT & GITHUB
 +
 +18:54
 +
 +Verify Changes in GIT
 +
 +09:33
 +
 +Compare Stage Area with Local Repository in GIT
 +
 +05:15
 +
 +Delete File in GIT
 +
 +04:06
 +
 +–GIT with GITHUB **Advance**
 +
 +01:03:28
 +
 +Explore Git with GITHub
 +
 +07:59
 +
 +Create Centralized Repository
 +
 +17:33
 +
 +Create Branches in GIT
 +
 +18:05
 +
 +Merge Branches in GIT
 +
 +12:09
 +
 +Revert a Commit in GIT
 +
 +07:42
 +
 +–GIT Basics **Through Explanation**
 +
 +01:29:19
 +
 +Add GIT in Existing Project Part
 +
 +10:22
 +
 +Fork GitHub Existing Project
 +
 +08:37
 +
 +Git CLI Complete Workflow
 +
 +10:44
 +
 +Back-out GIT Changes
 +
 +08:07
 +
 +Delete File in GIT
 +
 +08:49
 +
 +Rename & Move File in GIT
 +
 +13:39
 +
 +Find Commit, File History in GIT
 +
 +10:51
 +
 +GIT Alias
 +
 +07:02
 +
 +Exclude Unwanted Files in GIT
 +
 +11:08
 +
 +–Comparisons in GIT
 +
 +26:35
 +
 +SetUp Git Project for Comparision
 +
 +08:01
 +
 +Compare Working Directory & Stage Area
 +
 +06:42
 +
 +Compare Work Directory and GIT Repo
 +
 +03:15
 +
 +Compare Stage Area & GIT Repo
 +
 +03:51
 +
 +Compare Commits in GIT
 +
 +04:46
 +
 +–Branching & Merging in GIT
 +
 +35:33
 +
 +Basics of Branches in GIT
 +
 +08:16
 +
 +Happy Path Merges in GIT
 +
 +08:18
 +
 +Auto Merge in GIT
 +
 +09:12
 +
 +Merge Conflicts & Resolution
 +
 +09:47
 +
 +–GIT Rebase
 +
 +56:16
 +
 +GIT Merge vs GIT Rebase
 +
 +17:12
 +
 +GIT Rebase Example
 +
 +11:50
 +
 +Create Merge Conflicts in Rebase
 +
 +08:26
 +
 +Resolve Merge Conflicts in GIT Rebase
 +
 +05:37
 +
 +Rebase Remote Repository in GIT
 +
 +13:11
 +
 +–GIT Stashing
 +
 +47:27
 +
 +GIT Stash with Example
 +
 +16:21
 +
 +Stash Untracked Files & Git Stash Pop
 +
 +13:37
 +
 +Manage Multiple Stash
 +
 +09:24
 +
 +Stashing into Branch
 +
 +08:05
 +
 +–GIT Tagging
 +
 +29:50
 +
 +GIT Tagging Introduction
 +
 +07:54
 +
 +GIT Annotated Tags
 +
 +05:57
 +
 +Compare Tags in GIT
 +
 +07:44
 +
 +Tag a Specific Commit in GIT
 +
 +04:36
 +
 +Update Tags in GIT
 +
 +03:39
 +
 +–GIT Common Mistakes and Fixes
 +
 +32:04
 +
 +Fixing Common Mistakes in GIT Part 1
 +
 +10:05
 +
 +Fixing Common Mistakes in GIT Part 2
 +
 +12:38
 +
 +Fixing Common Mistakes in GIT Part 3
 +
 +09:21
 +
 +–Project Build Tool : MAVEN
 +
 +53:57
 +
 +Maven Introduction
 +
 +07:59
 +
 +Configure Maven on Windows Machine
 +
 +08:25
 +
 +Configure Maven on Windows Machine : Text Direction
 +
 +01:06
 +
 +Project Code Location
 +
 +00:06
 +
 +Configure Maven on Mac Machine
 +
 +06:01
 +
 +Generate First Maven Project From Maven CLI
 +
 +11:42
 +
 +Maven Build Life Cycle
 +
 +12:09
 +
 +POM.xml File in Maven Project
 +
 +06:29
 +
 +–Continuous Integration || Jenkins Introduction
 +
 +56:12
 +
 +What is Continuous Integration || Need of Jenkins
 +
 +12:39
 +
 +Download and Configure Jenkins on Linux
 +
 +13:56
 +
 +Text Direction : Download & Configure Jenkins on Linux
 +
 +00:46
 +
 +Download & Configure Jenkins on Windows
 +
 +12:33
 +
 +Text Direction : Download & Configure Jenkins on Windows
 +
 +03:01
 +
 +Download and Configure Jenkins on Mac OS
 +
 +12:08
 +
 +Text Direction : Download & Configure Jenkins on Mac OS
 +
 +01:04
 +
 +Java 9,10 Warning
 +
 +00:05
 +
 +–Jenkins Getting Started
 +
 +43:48
 +
 +Jenkins Architecture
 +
 +12:21
 +
 +Create & Execute Jenkins Job
 +
 +21:01
 +
 +Install GIT & GitHub Plugin
 +
 +10:26
 +
 +–Continuous Integration | Jenkins Jobs
 +
 +01:06:52
 +
 +Configure Jenkins to Work With Java, GIT, Gradle, Maven
 +
 +05:43
 +
 +Create First Maven Base Jenkin Project
 +
 +13:40
 +
 +CookBook: Create First Maven Base Jenkin Project
 +
 +00:33
 +
 +Trouble Shooting: Create our First Maven-based Jenkins Project
 +
 +00:29
 +
 +Run Maven Project Via Jenkins
 +
 +15:01
 +
 +Trouble Shooting: Run our First Jenkins Build and Jenkins Workspace
 +
 +00:46
 +
 +Source Code Polling
 +
 +18:12
 +
 +Text Direction : Add SSH Key in Local from GitHUB
 +
 +00:05
 +
 +Build Trigger Options in Jenkins
 +
 +12:19
 +
 +Text Direction : GitHub Hook SetUp
 +
 +00:02
 +
 +–Continuous Inspection with Jenkins
 +
 +20:08
 +
 +Code Quality Check with Jenkins
 +
 +19:57
 +
 +Text Direction: Code Quality and Code Coverage Metrics Report
 +
 +00:11
 +
 +–Continuous Delivery with Jenkins
 +
 +01:46:24
 +
 +Archive Artefact in Jenkins
 +
 +07:44
 +
 +Install Tomcat as Staging Env
 +
 +24:38
 +
 +Deploy Staging Environment
 +
 +26:30
 +
 +The latest Deploy to Container plugin
 +
 +00:25
 +
 +Build PipeLine Intro
 +
 +08:57
 +
 +Jenkins Parallel Builds
 +
 +06:04
 +
 +Deploy to Production
 +
 +31:46
 +
 +Trouble Shooting: Deploy to Production
 +
 +00:19
 +
 +–Jenkins As Code Pipeline
 +
 +01:33:45
 +
 +Jenkins As Code Pipeline Overview
 +
 +30:25
 +
 +Text Lecture: Overview of Pipeline as Code
 +
 +00:15
 +
 +Code Pipeline : Build Project
 +
 +26:19
 +
 +Text Lecture: Build Pipeline
 +
 +00:22
 +
 +Code Pipeline : Deploy in Staging Env
 +
 +15:59
 +
 +Text Lecture: Deploy Staging Env
 +
 +00:15
 +
 +Code Pipeline : Deploy in Production Env
 +
 +19:24
 +
 +Text Direction : Deploy in Production Env
 +
 +00:25
 +
 +Trouble Shooting: Automate Code Pipeline
 +
 +00:19
 +
 +–Distributed Builds
 +
 +01:15:21
 +
 +Introduction to Distributed Builds
 +
 +09:06
 +
 +Text Direction : Distributed Builds Intro
 +
 +00:02
 +
 +Install Jenkins on Cloud
 +
 +21:59
 +
 +Text Direction : Install Jenkins on Cloud
 +
 +00:50
 +
 +Install Jenkins Slave on Cloud
 +
 +33:45
 +
 +Text Direction : Install Jenkins Slave on Cloud
 +
 +00:25
 +
 +Distributed Builds & Build Lebels
 +
 +09:14
 +
 +–Docker Setup and Installation
 +
 +01:37:40
 +
 +What is Docker
 +
 +12:56
 +
 +Where I will Find the Docker Resource
 +
 +01:24
 +
 +Getting Course Resources : GitHub Repo
 +
 +00:37
 +
 +Docker Edition : Which Do I Use?
 +
 +08:35
 +
 +Install Docker on Various Platforms: Text Direction
 +
 +01:24
 +
 +Docker For Windows
 +
 +14:46
 +
 +Text Direction: Docker on Windows
 +
 +00:06
 +
 +Docker on Mac Machine
 +
 +19:02
 +
 +Create Linux Machine on Cloud
 +
 +12:35
 +
 +Text Direction : Create Machine on Cloud
 +
 +00:20
 +
 +Install Docker on Linux Machine
 +
 +21:20
 +
 +Text Direction: Install Docker on Linux Machine
 +
 +00:28
 +
 +Terminal Shell and Tab Completion for Docker CLI
 +
 +01:04
 +
 +5 Facts Everyone Should Know about Containers
 +
 +03:00
 +
 +–Creating Docker Containers : Start Like a Beginner
 +
 +01:42:50
 +
 +Check Docker Install and Configurations
 +
 +14:09
 +
 +Start Your First Container
 +
 +29:04
 +
 +Stop-Remove the Containers
 +
 +20:07
 +
 +Docker Internal Processing
 +
 +04:41
 +
 +Containers vs Virtual Machines
 +
 +12:30
 +
 +Assignment : Manage Multiple Containers
 +
 +07:41
 +
 +Assignment Answer : Manage Multiple Containers
 +
 +14:38
 +
 +–Use Docker Containers : Advance
 +
 +29:42
 +
 +Docker CLI Monitoring
 +
 +13:18
 +
 +Start Container in Interactive Mode
 +
 +06:51
 +
 +Run Commands in Running Containers
 +
 +09:33
 +
 +–Docker Networking
 +
 +46:03
 +
 +Docker Network : Introduction
 +
 +06:06
 +
 +Explore Container Networks
 +
 +11:05
 +
 +Docker Network CLI : List & Inspect
 +
 +06:56
 +
 +Docker Network : Create, Connect & Disconnect Network
 +
 +10:39
 +
 +Docker Network : DNS Concept
 +
 +11:17
 +
 +–Docker Container Images : Beginning
 +
 +43:47
 +
 +What is Docker Image
 +
 +05:20
 +
 +Docker Hub Repository
 +
 +12:20
 +
 +Concept of Docker Image Layers
 +
 +05:36
 +
 +Docker Image Tagging
 +
 +07:49
 +
 +Upload Docker Image to Cloud
 +
 +12:42
 +
 +–Docker Container Images : Build Images
 +
 +01:00:31
 +
 +Dockerfile Basics
 +
 +02:38
 +
 +Docker File Instructions
 +
 +14:18
 +
 +Create Custom Docker Image
 +
 +20:25
 +
 +Extend Official Docker Image
 +
 +10:09
 +
 +Assignment : Build Docker Image
 +
 +02:21
 +
 +Assignment Answer : Build Docker Image
 +
 +10:40
 +
 +–Docker Containers : Manage Data
 +
 +01:10:01
 +
 +Persistent Data Problem
 +
 +06:08
 +
 +Persistent Data : Data Volumes
 +
 +13:15
 +
 +Persistent Data : Bind Mounts
 +
 +11:20
 +
 +Assignment : Data Volumes
 +
 +02:06
 +
 +Assignment Answer : Data Volumes
 +
 +25:30
 +
 +Assignment : Bind Mounts
 +
 +00:59
 +
 +Assignment Answer : Bind Mount
 +
 +10:43
 +
 +–Docker Compose : Multi Container Tool
 +
 +42:26
 +
 +Docker Compose Introduction
 +
 +04:52
 +
 +Docker Compose YML File
 +
 +03:51
 +
 +Run MYSQL & WORDPRESS via Docker Compose
 +
 +15:32
 +
 +Docker Compose : Build Application From Scratch
 +
 +18:11
 +
 +–Docker Swarm Introduction: Swarm Orchestration
 +
 +59:42
 +
 +Docker Swarm Introduction: Swarm Orchestration
 +
 +11:58
 +
 +Docker Swarm Terminology
 +
 +07:06
 +
 +Create Service on Docker Swarm
 +
 +16:47
 +
 +Create Docker Swarm Cluster
 +
 +19:36
 +
 +Text Direction : SetUp Docker on Swarm Docker Nodes
 +
 +00:31
 +
 +Busting 5 DevOps Myths
 +
 +03:44
 +
 +–Docker Swarm Features and Applications
 +
 +48:57
 +
 +Networks in Docker Swarm
 +
 +13:52
 +
 +Docker Swarm Traffic Management
 +
 +09:31
 +
 +Assignment : Deploy Multi-Node Application in Docker Swarm
 +
 +08:54
 +
 +Assignment Answer : Deploy Multi-Node Application in Docker Swarm
 +
 +16:40
 +
 +–Docker Swarm Stack Deployment : Multi Service Deployment
 +
 +56:59
 +
 +Docker Swarm Stacks
 +
 +18:16
 +
 +Docker Swarm Stack : Scale Application
 +
 +14:09
 +
 +Docker Swarm : Persistent Data Issue in Distributed Application
 +
 +10:42
 +
 +Swarm : Deploy Distributed Application
 +
 +13:52
 +
 +–Docker Swarm Secrets Management : Protect Sensitive Data
 +
 +35:29
 +
 +Docker Swarm Secrets Introduction
 +
 +08:09
 +
 +Create Docker Service with Secrets
 +
 +11:26
 +
 +Deploy Stack with Swarm Secrets
 +
 +15:54
 +
 +–Docker Swarm Service Management
 +
 +01:00:09
 +
 +ZeroDowntime Service Upgrade
 +
 +18:51
 +
 +HealthCheck in Docker Swarm
 +
 +16:18
 +
 +Container Placement in Docker Swarm
 +
 +17:59
 +
 +Service Constraints in YML File
 +
 +07:01
 +
 +–Bonus on Other Course
 +
 +00:55
 +
 +Bonus Lecture: Get my other courses at the maximum discount!
 +
 +00:55
 +
 +
 +
 +