Let’s get it started…

Getting Started

Docker Desktop is a native desktop application designed by Docker for Windows and MAC users.  It is the easiest way to run,  build, debug, and test the Dockerized apps. Docker Desktop comes up with important and most useful features such as fast edit-test cycles, file change notifications, built-in enterprise network support, and flexibility to work with the own choice of proxies and VPNs. Docker desktop consists of developer tools, Docker App,  Kubernetes, and version synchronization. It allows us to create certified images and templates of our choice of languages and tools. Before jumping to the installation process, let’s have a basic understanding of its editions and releases.

Docker Editions

Docker mainly comes in two editions, the Community and the Enterprise edition. The community edition comes with a free set of Docker products. In contrast, the enterprise edition is a certified container platform that facilitates commercial users with add-ons features like image security, image management, orchestration and management of container runtime but at a reasonable cost. We will begin our learning with Community Edition. Docker containers running on particular Operating System share underlying OS kernel. It means we can’t use windows kernel (host) to run Linux containers or vice versa.  To overcome this, we have Docker Desktop for Windows and MAC.

Docker Release

The Docker Desktop community edition release comes in two flavors.

Stable: As the name signifies, Stable edition is thoroughly tested and can be used in developing more reliable apps. Its releases are fully synced up with Docker Engine releases. On the stable channel, there is an option to select whether to send usage statistics or not. Edge: These versions consist of all new and experimental features of the Docker Engine. There are more chances of bugs, crashes, and issues to occur. However, users will get the opportunity to become familiar with the upcoming features.

Docker on Windows

 There are two options available for the Docker on Windows.

#1. Using Docker Toolbox

The Docker Toolbox provides us a set of lightweight tools.

Oracle virtual box Docker Engine Docker Machine Docker compose Kitematic GUI

The above tools eliminate the need to deploy a separate VM to run Docker. Just install the Docker toolbox executable directly on the Windows and start developing applications on Docker Containers. It requires 64-bit OS and Windows 7 or higher with virtualization mode enabled in it. But again, the docker toolbox is the original support provided on Windows to run Docker and its legacy solution for all the Windows OS that do not meet the required configuration.

#2. Using the Docker Desktop

Docker Desktop is the newer technology being used for Docker on Windows. It replaces the Oracle virtual box with a native virtualization technique available on Windows that is Microsoft Hyper-V. It will still be going to run Docker on the Linux machine created underneath. But this time, instead of using the oracle virtual box, we have used native Microsoft Hyper-V.

Installing on Windows

You can download from Docker Hub repositories.

Before starting the installation, we need to check the system requirements. OS must have the following:

Windows 10 or Windows Server 2016 professional or enterprise edition Hyper-V support.

To run Hyper-V, the hardware must meet below prerequisites:

64-bit processor >=4 GB RAM BIOS-level hardware virtualization support

Hence, software and hardware dependency lies to run the Docker Desktop on Windows.

To install on Windows Home:

Instead of Hyper-V, support for WSL2 feature is required Download and install the Linux Kernel update package.

Once downloaded, follow the below stated instructions:

Double-click Docker Desktop Installer.exe to run the installer. It will start the downloading of the package.

When Prompted, select the Hyper-V feature required for virtualization (as shown in the below snapshot).

Once you will click on the OK button, it will start unpacking and installing executable files.

Installation Successful.  Windows machines require a restart. The Docker Desktop icon will be shown on the desktop. Double click on it to start it. Docker Desktop for Windows provides Docker Engine, Notary, Docker compose, Kubernetes, and Credential helper. Once started, it will show the version of each product.

Finally, you have the option to clone an image from the Github repository/Docker Hub, Build, Run, and share your containerized application.

Installing on macOS

You can download from Docker Hub repositories.

Before proceeding with installation, we need to check the system requirement. MAC must meet the below system requirements:

MAC Hardware 2010 or newer with hardware support for memory management and unrestricted mode. Run the command kern.hv_support to verify if MAC hardware supports the Hypervisor framework. MAC OS version 10.13 or newer. It supports Catalina, Mojave, and High Sierra. >=4 GB RAM Virtual-Box before version 4.3.30

Once downloaded, please follow the below instructions:

Double click on Docker.dmg to install and then drag the Docker icon to the Application folder.

Double click on Docker.app to start Docker. The Docker icon on the top status bar will reflect if the Docker is running, and it can be accessed from the command line. Similar to Docker Desktop for windows, Docker Desktop for MAC provides Docker Engine, Notary, Docker compose, Kubernetes, and Credential helper.

 Working with Images

Once installed, check the version of the Docker Engine installed.

Docker works with shipping and running containerized applications. Either you have to build your own containerized application or Docker maintain containerized images on Docker Hub, and it can be easily downloaded by using simple docker run command. Here, we will pull the Redis image.

With simple run command, images can be pulled and pushed to GitHub or Docker Hub, and any user around the world can access and start working with it. Docker Container is running a Docker image. The next step is to start the Container.

Encrypted container-id will be generated. You can quickly check the status of a running instance on Docker by clicking on the Dashboard option.

It’s very easy to find the button on running Containers to run on Docker CLI, stop, start, and remove the container. Make sure to stop the Container before removing it from Docker Engine.

Docker Desktop Features

So many benefits. Let us put some light on the following.

Supports a vast variety of development tools and languages. Provide a fast and optimized way to create and share a containerized image on any cloud platform. Easy to install and set up a complete Docker environment Better performance with Native virtualization Hyper-V on windows and HyperKit on MAC. Ability to work natively on Linux through WSL 2 on Windows machines. Easy access to running containers on the localhost network. Ability to share any application on the cloud platform, in various languages and frameworks. To keep you secure and up-to-date, automatic updates take place. The latest versions of Kubernetes are included. Ability to toggle in between Linux and Windows server on Windows.

Note

BUT

 Conclusion

I believe that now you know the Docker Desktop. Are you interested in learning more? Check out this brilliant Docker for DevOps course.

Docker Desktop   Easiest Way to Containerize Applications - 49Docker Desktop   Easiest Way to Containerize Applications - 38Docker Desktop   Easiest Way to Containerize Applications - 43Docker Desktop   Easiest Way to Containerize Applications - 95Docker Desktop   Easiest Way to Containerize Applications - 96Docker Desktop   Easiest Way to Containerize Applications - 93Docker Desktop   Easiest Way to Containerize Applications - 19Docker Desktop   Easiest Way to Containerize Applications - 25Docker Desktop   Easiest Way to Containerize Applications - 67Docker Desktop   Easiest Way to Containerize Applications - 49Docker Desktop   Easiest Way to Containerize Applications - 13Docker Desktop   Easiest Way to Containerize Applications - 94Docker Desktop   Easiest Way to Containerize Applications - 50