Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts

Installing Docker (Engine) | (CRT) | Container Run-Time | Docker Desktop

 To my dear Readers! Greetings!!

Now, we are in a position to understand containerization in a better way. Keeping this concept of containerization, lets start our first installation of container Engine. At first, you need to download docker desktop which is available online and can easily be downloaded. 

Basic Understanding (High-level overview)

At this point we shall download it for Windows 10. And, by the way there is a difference in Docker Engine and docker desktop. 

Docker desktop is a complete package (including Docker Engine, Docker CLI client, Docker Compose, Notary, Kubernetes, and Credential Helper) as you can see above in picture. 

You can download and install in your relevant OS environment (Mac / Windows). Its architecture is pretty straight forward and easily understandable. Docker Desktop for two different environments available. It is going to cater both kind of container apps (meant to) run on Linux or Microsoft Windows. It is available in two flavors 

1. Docker Desktop on Mac

2. Docker Desktop on Windows

Whereas, Docker Engine can be installed on Linux flavors like Centos, Debian, Fedora etc.

Before you Install Docker Desktop

  • Download docker desktop of your choice and be sure for environment requirements including OS and H/W both.
  • In my case, I'm downloading docker desktop for windows.

  • Windows 10 64-bit: Pro, Enterprise, or Education (Build 17134 or higher).
    • Hyper-V and Containers Windows features must be enabled.
    • The following hardware prerequisites are required to successfully run Client Hyper-V on Windows 10:
    • 64 bit processor with Second Level Address Translation (SLAT)
    • 4GB system RAM
    • BIOS-level hardware virtualization support must be enabled in the BIOS settings. For more information, see Virtualization and other troubleshooting for docker configurations.

    High level Installation Steps

    1. Double-click Docker Desktop Installer.exe to run the installer.

    2. If you haven’t already downloaded the installer (Docker Desktop Installer.exe), you can get it from Docker Hub. It typically downloads to your Downloads folder, or you can run it from the recent downloads bar at the bottom of your web browser.

    3. When prompted, ensure the Enable Hyper-V Windows Features or the Install required Windows components for WSL 2 option is selected on the Configuration page.
    Note: Follow the instructions on the installation wizard to authorize the installer and proceed with the install.

    When the installation is successful, click Close to complete the installation process.

    Important: 
    If your admin account is different to your user account, you must add the user to the docker-users group. Run Computer Management as an administrator and navigate to Local Users and Groups > Groups > docker-users. Right-click to add the user to the group. Log out and log back in for the changes to take effect.

          Starting up Docker Desktop 

          Docker Desktop does not start automatically after installation. To start Docker Desktop, search for Docker, and select Docker Desktop in the search results if your windows environment just as you can see in the picture below


          You only need to check whale icon right after initialization of your Docker Desktop as you can see in picture below




          And, if it stays in the status bar after you just verified there then it means docker desktop service is running on the system properly and you have complete the installation process of docker desktop on your Microsoft Windows OS and docker desktop launches onboarding tutorial. 

          The tutorial includes a simple exercise to build an example Docker image, run it as a container, push and save the image to Docker Hub as shown below


          And two thumbs up(👍👍) , you have successfully installed docker desktop on Microsoft Windows.

          Stay tuned for next Session ... "Container Optimized OS.."

          Go back to previous post




          What is Containerization and how is it different from virtualization - Part 2

            Continuing the same discussion of rebuilding a VM from the point it got stuck or destroyed. It always require sometimes to follow below steps

          1. Re-install OS
          2. Configure OS
          3. Install Application
          4. Configure its dependencies
          which may take more time to restore the services. In this connection, we always focus on services high availability which involves more hardware resources dedicatedly available to provide service High availability as shown in below picture for an understanding

          So, in-order to utilize hardware efficiently for a muti-instance of an application which is an important point to focus on, including manageability, lets discuss this topic with the concept of containerization.

          Lets conclude the discussion which leading us to think about containers...

          1. Easy Management of workload (VMs = OS + APP)
          2. Efficient resource utilization (CPU, Memory, Storage, Network)
          3. Improved service re-instantiation (No need to re-install OS if App corrupted)
          4. Zero chances of Application configurational Issues in-case of App re-build and Config

          above four points are not the only points, we are going focus on containerization. That's the starting point to discuss this technology in more details.

          In a nutshell, if we compare virtualization and containerization then 
          • In virtualization, we consolidate Hardware to efficiently utilize it by distributing Hardware resources amongst the consumers (e.g. VMs / workload)
          • In containerization, we consolidate OS kernel (which runs on top of H/W) to efficiently distribute resources running under the same OS to the workload (e.g. Applications).
          Below picture shows a high level difference in between both of the technologies

          NOW, being on clear note, i am going to mention some product names to get this concept very clear for my valuable readers with examples in my blogs. Those products are VMware vSphere, Docker, Kubernetes (K8s), vCenter Server Appliance, Microsoft Windows and Linux.

          Containerization 

          In this concept of containerization, I am going to choose "DOCKER" as an example to explain containerization. Just like VMs which provide isolation to OS to run independently without any conflict with any-other OS running on the same Hardware, containers provide isolation for an Application to run independently without any conflict with any other application to run on the same OS and hardware. So, hyper-visors provide this level of isolation to VMs to run independently similarly Container-runtime (CRT) provide level of isolation to APPs to run independently. Though there are so many containerization software available out there in the market and "DOCKER" is one of them. If we define "Docker" then below is the definition 

          "Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly".

          Understanding DOCKER (High-level Overview)


          Stay Tuned ... 😊

          Go back to Previous Post

           About the author , TwitterLinkedin












          Troubleshooting Minikube Installation in Microsoft Windows Environment

          Troubleshooting Minikube first Installation in MS Windows Environment

          This Document is created to help you out in troubleshooting common hurdles while installing minikube in your hosted virtual environment. So, during installation of minikube if you face any problem which is not letting you deploy your Kubernetes architecture in the form of minikube then cross check below steps.

          • When you download minikube, add minikube.exe to c:\Minikube or any location you can mention in the system variable later on
          • Configure system variables with the name of Minikube presenting its path with name you call in CLI including Kubectl tool location as well as shown in the fig below

          1)     



          Above Picture show paths I have configured in my environment for accessing minikube / K8s running in a VM.


          Note: This may be required when you are using Kubectl tool from your laptop or desktop to access minikube setup from within vmware workstation.

          Now, verify that hyper v is running inside guest OS (i.e. Windows 8 VM)
          Alternatively, you can also run hyperv from powershell using this command below. Make sure you’re logged in as an administrator:


          and use below powershell command to enable Hyper-V

          Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

          You can read more about enabling hyperv here

          Second Scenario or Situation

          If during deployment of minikube, VM doesn’t start or raises any error for incomplete deployment.

          • Go to virtual switch manager

          • Create a New Virtual Network switch (Internal)
          • Call the switch "Minikube"
          • Go to Control Panel\Network and Internet\Network and Sharing Center

          • Go to your vEthernet status (will be on the right side underneath “Access type:” Internet, in the “Connections:” list

          • Go into properties, and then the sharing tab. Check that “Allow other network users to connect through the conputer’s Internet connection” and select “vEthernet (Minikube)” from the list.

          After configuring above settings, open up elevated command prompt and the punch in below command

          Run:

          .\minikube.exe start --kubernetes-version="v1.8.0" --vm-driver="hyperv" --memory=1024 --hyperv-virtual-switch="Minikube" --v=7 --alsologtostderr

          And check once again :) 

          For detailed Installation Guide you can visit my YouTube Video





           About the author , TwitterLinkedin

          Minikube Installation in Microsoft Windows Environment

          Installing Minikube in Microsoft Windows Environment

          Minikube Installation is quit simple and there are numerous resources available to have better understanding about its initial setup.

          I have already, prepared a detailed video for this installation on MS Windows 8 running as VM in VMware workstation 14 Pro. 

          Many, people may have different requirement as per their requirements. Keeping this point in mind, you need to visit URL to access minikube User page

          OR

          You can download Minikube for Windows directly  

          Once, downloaded then you need to execute this Installer to Install Kubernetes in your laptop / desktop / VM.

          for more information you can access minikube Handbook . This link contains sufficient resources to have a better hands-on.

          For any further assistance, leave a comment and I'll respond you on that :)

           About the author , Twitter, Linkedin

          Container Optimized OS | Photon OS | Docker Engine Pre-Installed | How to Install and configure

           What is Container Optimized OS A Container Optimized OS is a lightweight, minimalistic operating system designed specifically to run contai...