• Get application security done the right way! Detect, Protect, Monitor, Accelerate, and more…
  • This article gives you a fair understanding of the Docker Desktop for Windows and MAC users. We will learn the installation of Docker Desktop on Windows and Mac machines. Post-installation, we will also try to perform some of the Docker operations.

    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.

    Speed, security, and choice – all will be delivered to you which you need for designing and delivering of containerized applications available on your desktop.

    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.

    Docker Desktop for Windows

    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:

    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.

    Docker Desktop Installation

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

    Hypervisor etc selections

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

    Process

    • 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.

    Docker desktop community

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

    Clone Repo

    Installing on macOS

    You can download from Docker Hub repositories.

    Docker-desktop-for-MAC

    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.

    Drag and Drop

    • 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 --version

    docker-version

    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.

    docker pull redis

    docker pull redis command

    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.

    docker run -p 6379 Redis

    docker run redis command

    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

    Docker Desktop is a native application designed for Windows and MAC OS to run, build, and to ship dockerized/containerized applications or services.

    BUT

    Docker Desktop is not meant for a production environment, rather it is for a desktop and development environment.

     Conclusion

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