The way to Set up and Get Began With Docker Desktop on Linux

Docker logo

Docker Desktop is a well-liked containerization resolution which bundles the whole lot you want to construct pictures and run boxes. One obtain will provide you with Docker, Docker Compose, Kubernetes, a complete GUI, and make stronger for a big collection of third-party extensions.

Docker Desktop has traditionally been restricted to Home windows and Mac methods. Linux customers have needed to set up Docker Engine manually and have interaction with it from the terminal or a separate person interface. Docker introduced a model of Desktop for Linux at DockerCon 2022, in any case providing function parity throughout all 3 primary platforms. This information will display you the right way to set it up and get began.

Making ready to Run Docker Desktop

The stairs on this article had been examined in a blank Ubuntu 22.04 setting. Desktop’s additionally supported on Ubuntu 21.10, Debian 11, and Fedora 35/36. Distro-specific documentation is to be had on Docker’s site.

Desktop calls for a 64-bit device with 4 GB of RAM and KVM {hardware} virtualization enabled. The KVM kernel module is generally enabled routinely when your host helps virtualization. You’ll test via working the kvm-ok command:

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be utilized

Permit virtualization to your device’s BIOS or UEFI if kvm-ok experiences an error. You’ll additionally check out manually loading the KVM kernel module the use of modprobe:

# 1/2
$ sudo modprobe kvm

$ sudo modprobe kvm_intel

# 2/2 AMD ONLY
$ sudo modprobe kvm_amd

Docker Desktop isn’t designed to run along Docker Engine. You must prevent the Docker carrier if you happen to’ve already been the use of Docker Engine for your gadget. This will likely scale back useful resource intake and decrease the chance of conflicts between Engine and Desktop.

$ sudo carrier docker prevent

Putting in Docker Desktop

The Docker Desktop package deal isn’t but to be had in repositories so it will have to be manually bought. Obtain the best package deal in your running device the use of the hyperlinks within the documentation.

$ wget

The Docker Desktop package deal relies on different programs from the Docker repository. Even though Desktop itself isn’t put in from the repository, you continue to want it to your assets listing so the dependencies may also be resolved. Run the next series of instructions so as to add Docker’s Apt repository for your gadget:

$ sudo apt replace
$ sudo apt-get set up -y 

# Obtain the GPG key used to signal the programs within the repository
$ sudo mkdir -p /and many others/apt/keyrings
$ curl -fsSL | sudo gpg --dearmor -o /and many others/apt/keyrings/docker.gpg

# Upload the repository for your package deal assets listing
$ echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] 
  $(lsb_release -cs) strong" | sudo tee /and many others/apt/assets.listing.d/docker.listing > /dev/null
$ sudo apt replace

Now you’ll set up the Desktop package deal with Apt’s set up command:

$ sudo apt set up -y ./docker-desktop-4.12.0-amd64.deb

Docker Desktop must now seem to your programs listing.

The usage of Docker Desktop

Get started Docker Desktop out of your running device’s app launcher. You must see the Docker whale icon seem to your device tray. Clicking the icon shows Docker’s tray menu.

image of the Docker Desktop system tray menu on Ubuntu

The primary run initialization procedure may just take a few mins to finish. The icon’s animation will prevent and the standing line on the most sensible of the menu will exchange to “Docker Desktop is working” when Docker’s in a position to make use of. Click on the “Dashboard” merchandise on the most sensible of the menu to open the UI if it doesn’t seem routinely.

You’ll be induced to simply accept the phrases of carrier and can then be taken to the Boxes display. You’ll optionally login to Docker Hub via clicking the Login button within the identify bar and following the activates.

image of the Docker Desktop welcome screen

Check out working docker and docker compose to your terminal to test the CLIs are to be had:

$ docker model
Consumer: Docker Engine - Neighborhood
 Cloud integration: v1.0.29
 Model:           20.10.18

$ docker compose model
Docker Compose model v2.10.2

Subsequent get started a container to ensure your set up’s operating:

$ docker run -d -p 80:80 docker/getting-started

Your new container must display up within the Docker Desktop UI. Clicking the 3 dots icon to the best of the desk finds an inventory of movements you’ll take inside Docker Desktop, reminiscent of opening a terminal throughout the container or visiting printed ports to your browser.

image of the Docker Desktop containers interface

The Photographs tab at the left facet of the display supplies a desk of the entire container pictures provide for your host. Controls are to be had to scrub up unused pictures, temporarily get started a brand new container from a picture, and push and pull pictures between other registries.

image of images in the Docker Desktop interface

You’ll get additional info on the use of Docker Desktop inside the documentation. The capability covers lots of the docker CLI instructions whilst layering in more higher-level ideas reminiscent of Developer Environments for work-in-progress code sharing.

Enabling Kubernetes

Docker Desktop has built-in Kubernetes make stronger nevertheless it’s now not enabled via default. Flip it on via clicking the settings cog icon within the app’s identify bar after which deciding on “Kubernetes” from the menu at the left.

image of Kubernetes settings in Docker Desktop

Test the “Permit Kubernetes” checkbox and press the “Observe & Restart” button within the bottom-right. It would take a number of mins for Docker to obtain the Kubernetes elements and create your cluster. A Kubernetes standing icon will seem within the bottom-left of the app, subsequent to the Docker icon. It is going to flip inexperienced when Kubernetes is able to use. The Kubernetes standing could also be proven on the most sensible of Docker Desktop’s tray menu.

Subsequent set up Kubectl. That is the CLI used to have interaction together with your Kubernetes cluster. The respectable Snap package deal is one of the best ways so as to add it to Ubuntu:

$ sudo snap set up kubectl

Now check out the use of Kubectl to get entry to your cluster:

$ kubectl get nodes
NAME             STATUS   ROLES           AGE   VERSION
docker-desktop   Able    control-plane   22m   v1.25.0

The docker-desktop node displays as Able so you’ll get started developing Pods:

$ kubectl run nginx --image nginx:newest
pod/nginx created

Disclose your Pod with a carrier:

$ kubectl reveal pod/nginx --port 80 --type NodePort
carrier/nginx uncovered

Now to find the host port that was once allotted to the carrier:

$ kubectl get services and products
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP       <none>        443/TCP        23m
nginx        NodePort   <none>        80:30107/TCP   75s

The port quantity is 30107. Use this port to get entry to your carrier and retrieve the default NGINX touchdown web page:

$ curl http://localhost:30107
<!DOCTYPE html>
<identify>Welcome to nginx!</identify>

Your Kubernetes cluster is totally operational. It’ll get started routinely on every occasion Docker Desktop is working.

Docker Desktop vs Docker Engine

Docker Engine is totally separate to Docker Desktop. Docker Engine launches boxes as processes at once for your host. It makes use of a device carrier to run the Docker daemon. The docker CLI objectives this daemon example whilst you factor instructions.

Docker Desktop runs your boxes within a QEMU digital gadget. You don’t need to at once have interaction with QEMU because the VM’s introduction and control is treated for you. Launching Docker Desktop routinely begins the VM; quitting the app will close it down.

The VM structure was once a need for working Docker on Home windows and Mac methods. It supplies a predictable setting for web hosting Linux boxes. The Docker staff made up our minds to proceed the use of VMs for Desktop on Linux to forestall inconsistencies bobbing up between platforms.

Even though the VM doesn’t have an effect on day by day Docker utilization, it’s a heavier resolution that calls for extra sources than Docker Engine. You’ll be expecting the VM to devour round 2 GB of RAM whilst idle, even if no boxes are working. Docker Engine’s reminiscence intake can be negligible in the similar scenario.

This implies Docker Engine stays one of the simplest ways to run boxes on Linux in manufacturing environments or anyplace efficiency is important. Desktop is a brilliant possibility for builders who need to use the similar totally built-in workflow as friends on Home windows and Mac. Desktop’s additionally your best option when you need to make use of Kubernetes with out including any additional gear. You’ll desire a devoted Kubernetes setting reminiscent of Minikube or MicroK8s if you happen to’re the use of Docker Engine.

Configuring Desktop’s Docker Daemon

You’ll customise the Docker daemon configuration utilized by Desktop via clicking the settings cog icon within the identify bar and heading to the “Docker Engine” tab at the left of the display.

image of managing Docker Engine settings in Docker Desktop

Kind or paste your adjustments into the enter equipped, then press “Observe & Restart” within the bottom-right nook.

Customizing Useful resource Limits

Docker Desktop routinely limits the sources that its digital gadget can devour. The defaults are part of the overall collection of processor cores to be had, 25% of your device reminiscence, and a 1 GB change report.

image of resource consumption settings in Docker Desktop

Those limits may also be modified via heading to Docker Desktop’s settings display and clicking the “Sources” tab within the menu at the left. Use the sliders to customise the cap for every useful resource. You’ll resize the digital disc used to retailer the VM’s information via scrolling down the display. Click on the “Observe & Restart” button within the bottom-right whilst you’re performed.


Docker Desktop is a developer-oriented containerization resolution that mixes the docker CLI with a flexible GUI and built-in Kubernetes make stronger. Desktop’s arrival on Linux manner building groups can standardize on a constant toolchain, without reference to the platform personal tastes of person engineers.

Docker Desktop is absolute best noticed as a substitute for Docker Engine. It supplies its personal container setting, together with a virtualized Docker Engine and a complete suite of Docker CLIs. You’ll’t use the Desktop GUI with an current Docker Engine set up. Desktop is maximum acceptable to developer workstations whilst Docker Engine must be used on manufacturing servers the place you don’t desire a graphical interface and need to steer clear of the overheads of working a VM.

You may also like...