Join our Discord Server
Ajeet Raina Ajeet Singh Raina is a former Docker Captain, Community Leader and Distinguished Arm Ambassador. He is a founder of Collabnix blogging site and has authored more than 700+ blogs on Docker, Kubernetes and Cloud-Native Technology. He runs a community Slack of 9800+ members and discord server close to 2600+ members. You can follow him on Twitter(@ajeetsraina).

A First Look at Docker Desktop Enterprise

6 min read

If you are looking out for Desktop Enterprise software solution for creating & delivering production-ready containerized applications in a simplified & secure way, Docker Desktop Enterprise is the right tool for you.

Last Dockercon, Docker announced the release of the new Docker Desktop Enterprise which is a new commercial Desktop offering from Docker, Inc. It is the only enterprise-ready Desktop platform that enable IT organizations automate the delivery of legacy and modern applications using an agile operating model with integrated security. With work performed locally, developers can leverage a rapid feedback loop before pushing code or docker images to shared servers / continuous integration infrastructure.

Imagine you are a developer & your organization have a production-ready environment running Docker Enterprise 2.1. To ensure that you don’t use any APIs or incompatible features that will break when you push an application to production environment, you would like to be certain your working environment exactly matches what’s running in Docker Enterprise production systems. With Docker Desktop Enterprise you can easily bridge such kind of gaps. It is basically a cohesive extension of the Docker Enterprise container platform that runs right on developers’ systems. Developers code and test locally using the same tools they use today and Docker Desktop Enterprise helps to quickly iterate and then produce a containerized service that is ready for their production Docker Enterprise clusters.

The Enterprise-Ready Solution for Dev & Ops

Docker Desktop Enterprise is a perfect devbed for Enterprise Developers. It allows developers to select from a variety of their favourite frameworks languages and IDE. Because of those options, it can also help organizations target every platform. So basically, your organization can provide application templates that include production-approved application configurations. And developers can take those templates and quickly modify and replicate them right from their desktop.

With Docker Desktop Enterprise, IT organizations can ensure developers are working with the same version of Docker Desktop Enterprise and can easily distribute Docker Desktop Enterprise to large teams using a number of third-party endpoint management applications. With the Docker Desktop Enterprise graphical user interface (GUI), developers are no longer required to work with lower-level Docker commands and can auto-generate Docker artifacts.

A Flawless Integration with 3rd Party Developer Tool

Docker Desktop Enterprise is designed to integrate with existing development environments (IDEs) such as Visual Studio and IntelliJ. And with support for defined application templates, Docker Desktop Enterprise allows organizations to specify the look and feel of their applications.

Exclusive features of Docker Desktop Enterprise 

Let us talk about the various features of Docker Desktop Enterprise 2.0.0.0 which is discussed below:

  • Version selection: Configurable version packs ensure the local instance of Docker Desktop Enterprise is a precise copy of the production environment where applications are deployed, and developers can switch between versions of Docker and Kubernetes with a single click.
    • Docker and Kubernetes versions match UCP cluster versions.
    • Administrator command line tool simplifies version pack installation.
  • Application Designer: Application Designer provides a library of application and service templates to help Docker developers quickly create new Docker applications. Application templates allow you to choose a technology stack and focus on business logic and code, and require only minimal Docker syntax knowledge.
    • Template support includes .NET, Spring, and more.
  • Device management:
    • The Docker Desktop Enterprise installer is available as standard MSI (Win) and PKG (Mac) downloads, which allows administrators to script an installation across many developer workstations.
  • Administrative control:
    • IT organizations can specify and lock configuration parameters for creation of a standardized development environment, including disabling drive sharing and limiting version pack installations. Developers can then run commands using the command line without worrying about configuration settings.

Under this blog post, we will look at two of the promising features of Docker Desktop Enterprise 2.0.0.0:

  • Application Designer &
  • Version packs

Installing Docker Desktop Enterprise

Docker Desktop Enterprise is available both for Microsoft Windows and MacOS. One can download via the below links:

The above installer includes:

  • Docker Engine,
  • Docker CLI client, and
  • Docker Compose.

Please note that you will have to clean up Docker Desktop Community Edition before you install Enterprise edition. Also, Enterprise version will require a seperate License key which you need to buy from Docker, Inc.,.

To install Docker Desktop Enterprise, double-click the .msi or .pkg file and initiate the Setup wizard:



Click “Next” to proceed further and accept the End-User license agreement as shown below:

Click “Next” to proceed with the installation.

Once installed, you will see Docker Desktop icon on the Windows Desktop as shown below:

License file

As stated earlier, to use Docker Desktop Enterprise, you must purchase Docker Desktop Enterprise license file from Docker, Inc.

The license file must be installed and placed under the following location: C:\Users\Docker\AppData\Roaming\Docker\docker_subscription.lic

If the license file is missing, you will be asked to provide it when you try to run Docker Desktop Enterprise. Once the license file is supplied, Docker Desktop Enterprise should come up flawlessly.

What’s New in Docker Desktop UI?

Docker Desktop Enterprise provides you with additional features compared to the Community edition. Right click on whale icon on Task Manager and select “About Docker Desktop” to show up the below window.

Open up Powershell to verify Docker version up and running :

Click on “Settings” option to get list of various sections like shared drives, advanced settings, network, proxies, Docker daemon and Kubernetes.

One of the new feature introduced with Docker Desktop Enterprise is to allow Docker Desktop to start whenever you login automatically. This feature can be enabled by selecting “Start Desktop when you login” under General Tab. One can automatically check for updates by enabling this feature.

Docker Desktop Enterprise gives you flexibility to pre-select resources limitation so as to make it available for Docker Engine as shown below. Based on your system configuration and type of application you are planning to host, you can increase or decrease the resource limit.


Docker Desktop Enterprise includes a standalone Kubernetes server that runs on your Windows laptop, so that you can test deploying your Docker workloads on Kubernetes.

The Kubectl is a command line interface for running commands against Kubernetes clusters. It comes with Docker Desktop by default and one cn verify by running the below command:

Running Your First Web Application

Let us try running the custom built Web application using the below command:

Open up the browser to verify that web page is up and running as shown below:

Application Designer

Application Designer provides a library of application and service templates to help Docker developers quickly create new Docker applications. Application templates allow you to choose a technology stack and focus on business logic and code, and require only minimal Docker syntax knowledge.

Building Linux-based Application using Application Designer

Under this section, I will show you how to get started with Application Designer feature which was introduced for the first time.

Right click on whale-icon in the Taskbar and choose “Design New Application”. Once you click on it, it will open the below window:

Let us first try using the set of preconfigured application by clicking on “Choose a template”

Let us test drive Linux-based application. Click on “Linux” option and proceed further. This opens up variety of ready-made templates as shown below:

Spring application is also included as part of Docker Desktop Enterprise which is basically a sample Java application with Spring framework and a Postgres database as shown below:

Let us go ahead and try out a sample python/Flask application with an Nginx proxy and a MySQL database. Select the desired application template and choose your choice of Python version and accessible port. You can select your choice of MySQL version and Nginx proxy. For this example, I chose Python version 3.6, MySQL 5.7 and Nginx proxy exposed on port 80.

Click on “Continue” to build up this application stack.

Click on “Assemble” and this should build up your application stack.

Done. Click on “Run Application” to bring up your web application stack.

Once you click on “Run Application”, you can see the output right there on the screen as shown below:

As shown above, one can open up code repository in Visual Studio Code & Windows explorer. You get options to start, stop and restart your application stack.

To verify its functionality, let us try to open up the web application as shown below:

Cool, isn’t it?

Building Windows based Application using Application Designer

Under this section, we will see how to build Windows-based application using the same Application Designer tool.

Before you proceed, we need to choose “Switch to Windows container” as shown below to allow Windows based container to run on our Desktop.




Right click on whale-icon in the Taskbar and choose “Design New Application”. Once you click on it, it will open the below window:

Click on “Choose a template” and select Windows this time as shown below:

Once you click on Windows, it will open up a sample ASP.Net & MS-SQL application.

Once clicked, it will show frontend and backend with option to set up desired port for your application.

I will go ahead and choose port 82 for this example. Click on “Continue” and supply your desired application name. I named it as “mywinapp” as shown below:

Click on “Assemble” to build up your application stack.

Click on “Start” to run your application stack.

While the application stack is coming up, you can open up Visual Studio to view files like Docker Compose, Dockerfile as shown below:

One can view logs to see what’s going on in the backend. Under Application Designer, one can select “Debug” option to open up “View Logs” to view the real time logs.

By now, you should be able to access your application via web browser.

Version Packs

Docker Desktop Enterprise 2.0.0 is bundled with default version pack Enterprise 2.1 which includes Docker Engine 18.09 and Kubernetes 1.11.5. You can download it via this link.

If you want to use a different version of the Docker Engine and Kubernetes for development work install version pack Enterprise 2.0, you can download version pack Enterprise 2.0 via this link.

Version packs are installed manually or, for administrators, by using the command line tool. Once installed, version packs can be selected for use in the Docker Desktop Enterprise menu.

Installing Version Pack

When you install Docker Desktop Enterprise, the tool is installed under C:\Program Files\Docker\Desktop location. Version packs can be installed by double-clicking a .ddvp file. Ensure that Docker Desktop is stopped before installing a version pack. The easiest way to add Version Pack is through CLI running the below command:

Open up Windows Powershell via “Run as Administrator” and run the below command:

dockerdesktop-admin.exe’ -InstallVersionPack=’C:\Program Files
\Docker\Docker\enterprise-2.0.ddvp’

Uninstalling Version Pack

Uninstalling Version Pack is a matter of single-line command as shown below:

dockerdesktop-admin.exe’ -UninstallVersionPack <VersionPack>

In my next blog post, I will show you how to leverage Application Designer tool to build custom application.

References:

Have Queries? Join https://launchpass.com/collabnix

Ajeet Raina Ajeet Singh Raina is a former Docker Captain, Community Leader and Distinguished Arm Ambassador. He is a founder of Collabnix blogging site and has authored more than 700+ blogs on Docker, Kubernetes and Cloud-Native Technology. He runs a community Slack of 9800+ members and discord server close to 2600+ members. You can follow him on Twitter(@ajeetsraina).
Join our Discord Server
Index