What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps Tools | Edureka  Rewind

What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps Tools | Edureka Rewind

Introduction to Docker

In this section, Sarah introduces the topic of Docker and outlines the agenda for the session.

Why We Need Docker

  • Industries faced problems with differences in computing environments between development and production.
  • Microservices can be considered small processes that communicate with each other over a network to fulfill one particular goal.
  • Advantages of using microservice architecture include easier building and maintenance of applications, easy updates to software or technology stacks, and unaffected application if any service goes down.

Problems with Adopting Microservice Architecture

  • Virtual machines result in wastage of resources such as RAM, processor, and disk space.

What is Docker?

  • No bullet points associated with timestamps.

Docker Example

  • No bullet points associated with timestamps.

How Industries are Using Docker: Indiana University Case Study

  • No bullet points associated with timestamps.

Various Components of Docker: Images, Containers, etc.

  • No bullet points associated with timestamps.

Hands-On Part: Installing WordPress and phpMyAdmin using Docker Compose

  • The hands-on part will focus on installing WordPress and phpMyAdmin using Docker Compose.

Microservices Implementation

In this section, the speaker discusses the implementation of microservices using Docker containers on top of a virtual machine. The speaker explains the difference between virtual machines and Docker containers and why virtual machines are used in this case.

Virtual Machines vs. Docker Containers

  • Docker containers are lightweight alternatives to virtual machines that do not require pre-allocation of RAM or disk space.
  • A Linux or Unix-based host machine is required to run Docker containers since they do not work on Windows systems.
  • Using a virtual machine helps segregate the microservices from the rest of the host machine and allows for more efficient use of resources.

Consistent Computing Environment with Docker

In this section, the speaker explains how Docker solves the problem of inconsistent computing environments throughout the software delivery life cycle.

How Docker Solves Inconsistent Computing Environments

  • Docker containers can be used throughout the software delivery life cycle to provide consistent computing environments in development, testing, and production.
  • Docker containers use a host operating system instead of a guest operating system like traditional virtual machines.
  • Multiple containers can run on top of a single host machine with each container having its own set of dependencies packaged within it.

Workflow for Using Docker

In this section, the speaker outlines a general workflow for using Docker in software development.

General Workflow for Using Docker

  • A developer writes a Docker file that defines the application's requirements and dependencies.
  • The Docker file produces a Docker image that contains all the necessary dependencies for the application.
  • The Docker image is uploaded to Docker Hub, which serves as a repository for public and private Docker images.
  • Various teams such as QA or production can pull the image from Docker Hub and prepare it for deployment.

Docker Hub and Microservices

In this section, the speaker explains Docker Hub and how it can be used to upload and pull images. They also discuss a workflow for using Docker in production environments with microservices.

Using Docker Hub

  • Docker Hub is a cloud-hosted service provided by Docker where users can upload their own images or pull images from public repositories.
  • It functions like a git repository for Docker images.

Workflow for Microservices with Docker

  • A build environment containing all dependencies for a microservice is created using Jenkins or any continuous integration server.
  • This environment is then deployed onto various teams such as testing, staging, and production.
  • Requirements for the microservice are present throughout the software delivery life cycle, eliminating issues that arise when an application works fine in development but not in production.

Case Study: Indiana University and Docker Data Center

The speaker discusses how Indiana University faced several problems before implementing Docker Data Center to modernize their applications and provide security for sensitive student data.

Problems Faced by Indiana University

  • Custom scripts were used to deploy applications onto various VMS, requiring many manual steps.
  • Their environment was optimized for legacy Java-based applications but needed to begin modernizing their applications.
  • They wanted to move from a monolithic architecture to a microservice architecture.
  • Sensitive student data required additional security measures.

Solution: Docker Data Center

  • Implemented Universal Control Plane, LDAP Swarm CS Engine, and Trusted Registry components of Docker Data Center.

Introduction to Docker Data Center

In this section, the speaker introduces Docker Data Center and explains how it helped Indiana University move from a monolithic architecture to a microservice architecture. The speaker also discusses the benefits of using Universal Control Plane and role-based access controls for security.

Docker Images and Universal Control Plane

  • Indiana University moved from a monolithic architecture to a microservice architecture using Docker images.
  • Universal Control Plane is used to deploy services onto various hosts with the help of Docker images stored in the Docker Trusted Registry.
  • Universal Control Plane allows IT Ops teams to manage their entire infrastructure from one single place with its web user interface.
  • Role-based access controls within the Docker Data Center allowed Indiana University to define levels of access for various teams.

Differences between Docker Containers and Virtual Machines

  • Pallavi asks about the difference between Docker containers and virtual machines.
  • Docker containers are lightweight alternatives to virtual machines that do not have their own operating system. They sit on top of the host operating system.
  • Runtime for Docker containers is less than virtual machines because you don't need to boot an OS.

Overview of Various Docker Components

  • The speaker moves forward and discusses various components of Docker, starting with the Docker registry.
  • The registry stores all your docker images, which can be stored either in public or private repositories locally or on cloud platforms like Dockers' cloud-hosted service, Docker Hub.
  • Docker images are read-only templates used to create containers that contain all the dependencies for a particular application or microservice.

Exploring Docker Hub

In this section, the speaker explores Docker Hub and shows how to use it to create public or private repositories and upload images.

Creating Repositories on Docker Hub

  • The speaker shows how to sign in with your login credentials on Docker Hub.
  • You can create your own public or private repositories and upload images onto them.

Conclusion

In this section, the speaker concludes by summarizing what was covered in the previous sections.

Summary of Topics Covered

  • The speaker summarizes topics covered in previous sections, including Indiana University's adoption of Docker Data Center, differences between Docker containers and virtual machines, and an overview of various components of Docker.
  • The speaker encourages viewers to explore more about these topics through online resources like tutorials.

Introduction to Docker Images and Containers

In this section, the speaker explains the relationship between Docker images and containers. They also demonstrate how to install Docker on an Ubuntu box, pull a CentOS image from Docker Hub, and run a CentOS container.

Installing Docker on Ubuntu

  • To update packages, type sudo apt get update at .
  • Install recommended packages by typing sudo apt get installed Linux-image-extra, sudo apt get installed namespace-r, and sudo apt get installed Linux-image-extra-virtual at , , and , respectively.
  • Install Docker engine by typing sudo app get installed Docker-engine at .
  • Start the Docker service by typing sudo service Docker start at .

Pulling a CentOS Image and Running a Container

  • Pull a CentOS image from Docker Hub by typing sudo docker pull sentos at .
  • Run a CentOS container by typing sudo docker run -ID sentos at .

Introduction to Docker Compose

In this section, the speaker introduces the concept of running multiple applications present on various containers with one single command using Docker Compose.

Understanding What is Docker Compose

  • Use case scenario for running multiple applications present on various containers with one single command using YAML file that is called "Docker Compose file" at .
  • Example of defining three containers, one running a web app, another running a postgres, and another running a redis in a YAML file that is called Docker Compose file at .

Practical Demonstration

  • Define all the three containers in one YAML file and execute all these three containers with one single command docker-compose up at .

Installing Docker Compose

In this section, the speaker installs Docker Compose and creates a WordPress directory.

Installing Docker Compose

  • Install Python pip.
  • Install Docker Compose using pip.

Creating WordPress Directory

  • Create a new directory named "WordPress".
  • Navigate to the newly created "WordPress" directory.

Editing Docker Compose YAML File

In this section, the speaker edits the Docker Compose YAML file to define containers for WordPress, MariaDB, and phpMyAdmin.

Editing YAML File

  • Open the Docker Compose YAML file using Gedit or any other editor.
  • Copy and paste the provided YAML code into the file.
  • Define a container named "WordPress" built from an image called "WordPress" on docker Hub.
  • Define another container named "WordPress_DB" built from an image called "MariaDB".
  • Link "WordPress_DB" with "WordPress".
  • Define a third container named "phpMyAdmin" built from an image called corbinu/Docker-phpMyAdmin.
  • The port 80 of each container is linked to different ports on the host machine.

Running Containers

In this section, the speaker runs all three containers using Docker Compose.

Running Containers

  • Run the command "sudo docker-compose up -d" to pull images and build containers.
  • The WordPress installation page can be accessed by typing "localhost:8080" in a browser.

Conclusion

In this section, the speaker concludes the tutorial.

Conclusion

  • The containers have been successfully built and are now running.
  • The WordPress installation page can be accessed at "localhost:8080".
  • Any questions or doubts can be asked in the chat box.

Installing PHP My Admin

In this section, the speaker explains how to install PHP My Admin and access a MySQL database.

Steps for Installing PHP My Admin

  • Open port 8181 for PHP My Admin
  • Provide username as root and password as Eureka
  • Access MySQL database using PHP My Admin

Conclusion

The speaker concludes the session by thanking the audience.

Video description

๐Ÿ”ฅ๐„๐๐ฎ๐ซ๐ž๐ค๐š ๐ƒ๐จ๐œ๐ค๐ž๐ซ ๐‚๐ž๐ซ๐ญ๐ข๐Ÿ๐ข๐œ๐š๐ญ๐ข๐จ๐ง ๐“๐ซ๐š๐ข๐ง๐ข๐ง๐  ๐‚๐จ๐ฎ๐ซ๐ฌ๐ž : https://www.edureka.co/docker-training (๐”๐ฌ๐ž ๐‚๐จ๐๐ž: ๐˜๐Ž๐”๐“๐”๐๐„๐Ÿ๐ŸŽ) This Edureka Docker Tutorial for Beginners video on "What is Docker" will help you understand how to use Docker Hub, Docker Images, Docker Container & Docker Compose. ( Docker Tutorial Blog Series: https://goo.gl/32kupf )It also explains Docker's working Architecture and Docker Engine in detail. It also includes a Hands-On session around Docker by the end of which you will learn to pull a centos Docker Image and spin your own Docker Container. 00:00:00 Introduction 00:00:43 Agenda 0001:49 Why Docker 00:08:44 What is Docker 00:12:45 Case Study 00:14:18 Docker Workflow & Architecture 00:16:56 Docker Components 00:20:25 Docker Compose 00:22:17 Docker Swarm 00:24:35 Docker Installation & Setup 00:27:41 Hands On ๐Ÿ”ด Subscribe to our channel to get video updates. Hit the subscribe button above: https://goo.gl/6ohpTV ๐Ÿ“Feel free to share your comments below.๐Ÿ“ ๐Ÿ”ด ๐„๐๐ฎ๐ซ๐ž๐ค๐š ๐Ž๐ง๐ฅ๐ข๐ง๐ž ๐“๐ซ๐š๐ข๐ง๐ข๐ง๐  ๐š๐ง๐ ๐‚๐ž๐ซ๐ญ๐ข๐Ÿ๐ข๐œ๐š๐ญ๐ข๐จ๐ง๐ฌ ๐Ÿ”ต DevOps Online Training: http://bit.ly/3VkBRUT ๐ŸŒ• AWS Online Training: http://bit.ly/3ADYwDY ๐Ÿ”ต React Online Training: http://bit.ly/3Vc4yDw ๐ŸŒ• Tableau Online Training: http://bit.ly/3guTe6J ๐Ÿ”ต Power BI Online Training: http://bit.ly/3VntjMY ๐ŸŒ• Selenium Online Training: http://bit.ly/3EVDtis ๐Ÿ”ต PMP Online Training: http://bit.ly/3XugO44 ๐ŸŒ• Salesforce Online Training: http://bit.ly/3OsAXDH ๐Ÿ”ต Cybersecurity Online Training: http://bit.ly/3tXgw8t ๐ŸŒ• Java Online Training: http://bit.ly/3tRxghg ๐Ÿ”ต Big Data Online Training: http://bit.ly/3EvUqP5 ๐ŸŒ• RPA Online Training: http://bit.ly/3GFHKYB ๐Ÿ”ต Python Online Training: http://bit.ly/3Oubt8M ๐ŸŒ• Azure Online Training: http://bit.ly/3i4P85F ๐Ÿ”ต GCP Online Training: http://bit.ly/3VkCzS3 ๐ŸŒ• Microservices Online Training: http://bit.ly/3gxYqqv ๐Ÿ”ต Data Science Online Training: http://bit.ly/3V3nLrc ๐ŸŒ• CEHv12 Online Training: http://bit.ly/3Vhq8Hj ๐Ÿ”ต Angular Online Training: http://bit.ly/3EYcCTe ๐Ÿ”ด ๐„๐๐ฎ๐ซ๐ž๐ค๐š ๐‘๐จ๐ฅ๐ž-๐๐š๐ฌ๐ž๐ ๐‚๐จ๐ฎ๐ซ๐ฌ๐ž๐ฌ ๐Ÿ”ต DevOps Engineer Masters Program: http://bit.ly/3Oud9PC ๐ŸŒ• Cloud Architect Masters Program: http://bit.ly/3OvueZy ๐Ÿ”ต Data Scientist Masters Program: http://bit.ly/3tUAOiT ๐ŸŒ• Big Data Architect Masters Program: http://bit.ly/3tTWT0V ๐Ÿ”ต Machine Learning Engineer Masters Program: http://bit.ly/3AEq4c4 ๐ŸŒ• Business Intelligence Masters Program: http://bit.ly/3UZPqJz ๐Ÿ”ต Python Developer Masters Program: http://bit.ly/3EV6kDv ๐ŸŒ• RPA Developer Masters Program: http://bit.ly/3OteYfP ๐Ÿ”ต Web Development Masters Program: http://bit.ly/3U9R5va ๐ŸŒ• Computer Science Bootcamp Program : http://bit.ly/3UZxPBy ๐Ÿ”ต Cyber Security Masters Program: http://bit.ly/3U25rNR ๐ŸŒ• Full Stack Developer Masters Program : http://bit.ly/3tWCE2S ๐Ÿ”ต Automation Testing Engineer Masters Program : http://bit.ly/3AGXg2J ๐ŸŒ• Python Developer Masters Program : https://bit.ly/3EV6kDv ๐Ÿ”ต Azure Cloud Engineer Masters Program: http://bit.ly/3AEBHzH ๐Ÿ”ด ๐„๐๐ฎ๐ซ๐ž๐ค๐š ๐”๐ง๐ข๐ฏ๐ž๐ซ๐ฌ๐ข๐ญ๐ฒ ๐๐ซ๐จ๐ ๐ซ๐š๐ฆ๐ฌ ๐ŸŒ• Post Graduate Program in DevOps with Purdue University: https://bit.ly/3Ov52lT ๐Ÿ”ต Advanced Certificate Program in Data Science with E&ICT Academy, IIT Guwahati: http://bit.ly/3V7ffrh ๐Ÿ“Œ๐“๐ž๐ฅ๐ž๐ ๐ซ๐š๐ฆ: https://t.me/edurekaupdates ๐Ÿ“Œ๐“๐ฐ๐ข๐ญ๐ญ๐ž๐ซ: https://twitter.com/edurekain ๐Ÿ“Œ๐‹๐ข๐ง๐ค๐ž๐๐ˆ๐ง: https://www.linkedin.com/company/edureka ๐Ÿ“Œ๐ˆ๐ง๐ฌ๐ญ๐š๐ ๐ซ๐š๐ฆ: https://www.instagram.com/edureka_learning/ ๐Ÿ“Œ๐…๐š๐œ๐ž๐›๐จ๐จ๐ค: https://www.facebook.com/edurekaIN/ ๐Ÿ“Œ๐’๐ฅ๐ข๐๐ž๐’๐ก๐š๐ซ๐ž: https://www.slideshare.net/EdurekaIN ๐Ÿ“Œ๐‚๐š๐ฌ๐ญ๐›๐จ๐ฑ: https://castbox.fm/networks/505?country=IN ๐Ÿ“Œ๐Œ๐ž๐ž๐ญ๐ฎ๐ฉ: https://www.meetup.com/edureka/ ๐Ÿ“Œ๐‚๐จ๐ฆ๐ฆ๐ฎ๐ง๐ข๐ญ๐ฒ: https://www.edureka.co/community/ Please write back to us at sales@edureka.co or call us at IND: 9606058406 / US: 18338555775 (toll-free) for more information.