A First Look at Docker Desktop Enterprise

Delivered as part of Docker Enterprise 3.0, Docker Desktop Enterprise is a new developer tool that extends the Docker Enterprise Platform to developers’ desktops, improving developer productivity while accelerating time-to-market for new applications.

It is the only enterprise-ready Desktop platform that enables IT organizations to 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.

894c253c bc8e 45a2 b56b 5d4e5b69d851 1

\Imagine you are a developer & your organization has a production-ready environment running Docker Enterprise. To ensure that you don’t use any APIs or incompatible features that will break when you push an application to production, you would like to be certain your working environment exactly matches what’s running in Docker Enterprise production systems. This is where Docker Enterprise 3.0 and Docker Desktop Enterprise come in. 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 their favourite frameworks, languages, and IDEs. 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 replicate them right from their desktop and begin coding. With the Docker Desktop Enterprise graphical user interface (GUI), developers are no longer required to know lower-level Docker commands and can auto-generate Docker artifacts.

855c898f f9f8 446c 81eb a80033fd2751

With Docker Desktop Enterprise, IT organizations can easily distribute and manage Docker Desktop Enterprise across teams of developers using their current  third-party endpoint management solution.

A Flawless Integration with 3rd Party Developer Tools

C1300062 93e0 49e6 8562 7d4a22fb44e0

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

3b5be4aa 089e 4f27 9e8e 492ac13a0760Bf123d79 226f 4054 8952 fb4b4a234253

Let us talk about the various features of Docker Desktop Enterprise 2.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 developers quickly create new container-based applications. Application templates allow you to choose a technology stack and focus on the business logic and code, and require only minimal Docker syntax knowledge.
    • Template support includes .NET, Java Spring, and more.
    • Single service and multi-services applications are supported.
    • Deployable to Kubernetes or Swarm orchestrators
    • Supports Docker App format for multi-environment, parameterized application deployments and application bundling
  • 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:

  • 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 separate 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:

92ad10b0 dd30 42a3 be61 f19e96678539

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

F7c8c15d 946b 49db b6e2 d2673927e69c

Click “Next” to proceed with the installation.

Afafe6b3 71c5 4e94 92ec df1331b5b58f

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

1d23f274 a42a 4e86 b904 0a474fc20109

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.

C01e27dc 1d6b 437c 8460 e13caf7ceecc

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.

2b432538 f368 4850 a384 01992a9ef0fd

You can 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.

D9e45781 2934 4cf5 b37f 085121c418d1

One of the new features 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 the flexibility to pre-select resource limitations to make 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.

364d4420 9f11 40ef 93d8 c128263638ab

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.

8d8486a2 cd23 4855 aa1e 7fd54dc4de09

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

F0c75a7f 9854 4498 9dcf 202eaa205e54

Running Your First Web Application

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

490877f4 e491 42fa 91dd b1abe85d4c74

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

4263871d 7f0e 46e9 b095 277b88aa674d

Application Designer

6b69b7a4 633d 439e 92a1 be1503561a03

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 the business logic and code, and require only minimal Docker syntax knowledge.

Building a 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.

F0492b5c 9f40 468a be0c fd76d091f1e2

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

529a535d cd29 4a1a 90c4 b290243bfa93

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

7df6d023 3284 4519 ba1d 25f3cb789dc0

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

5ecc6901 ef3c 48f5 bc17 14ad79a5a444

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:

A3b02a3e e089 4e1a 8377 9cfb10d92f52

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 choose Python version 3.6, MySQL 5.7 and Nginx proxy exposed on port 80.

B84dab82 de7b 4dd4 b4bb a4da0e40248b

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

Done. Click on “Run Application” to bring up your web application stack.2609ce8c d088 4e01 b019 c1ba21393976

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

325a2aea da28 417d ba37 84bc3e157122

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.

2e06e6e5 a6e0 4b9f 8ace b11a78f830af

583dbb18 7b23 4b68 9627 0d44555db2e7

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

Ed457632 d09f 43f0 99d5 7b9bfe740758

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.

Fc757451 109f 40de a53f a8845b593efd

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

Df89b0eb 439b 4c60 99c7 48bde5128213

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

379ca4c8 a97d 49b0 9833 3fb3aadc5c07

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

2d508519 09d2 4e12 b4a1 a4961e9d2eef

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

2ad5163c 054b 4129 87b5 3df49536cf3a

I will go ahead and choose port 82 for this example. Click on “Continue” and supply your desired application name. I named it as “mywinapp2”. Next, click on “Scaffold” to build up your application stack.

A8d2b032 8275 401c a902 8935ec2dd25f

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

B0b3d99f c0d3 4046 a851 1c89e961269a

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.

12e9a0db 4ad2 43c5 9dcd 74db33e77c40

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

Version Packs

Docker Desktop Enterprise 2.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.

E8065780 09f6 4429 af90 9c21f4229979

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 Additional Version Packs

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 Packs

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:

Feedback

0 thoughts on "A First Look at Docker Desktop Enterprise"

DockerCon 2022

With over 50 sessions for developers by developers, watch the latest developer news, trends, and announcements from DockerCon 2022. From the keynote to product demos to technical breakout sessions, hacks, and tips & tricks, there’s something for everyone.

Watch Now