Docker Deep Dive by Nigel Poulton Review - Chapter 3: Getting Docker
Chapter 3 of Docker Deep Dive focuses on how we can actually use Docker depending on our environment and os.
Docker Desktop
Docker Desktop is a one-click-install app from Docker, inc and recommended by Poulton as the best way to work with containers. Not only does Docker Desktop provide an attractive UI with the latest features and plugs, a particular superpower of the app is the ability to access Docker Extensions.
First announced at DockerCon in 2022, Extensions gives users of Docker Desktop the ability to experiment with a vast array of 3rd party Docker and Kubernetes related extensions from a centralised marketplace. There are dozens upon dozens of these extensions that give emphasis on container related monitoring, security as well as the ability to customise your docker experience when using the app.
the ability to create a small, fast and free containerised MSSQL DB server in a few moments? What's the catch?
Installing Docker Desktop on Windows is as effortless as finding the app in Microsoft Store and hitting the "Install" button. If you run open up your terminal and run a docker version
command, you will notice that the OS/Arch part of the server output shows: linux/amd64.
Poulton notes that the default installation of Docker Desktop assumes that you will be running Linux containers, and in my own personal experience there are quite niche examples of when running anything but a Linux based container makes sense.
However, if you do need to run Windows containers, Docker makes this simple by allowing you right-click on the whale icon in your notification tray and press the Switch to Windows Containers button.
Server: Docker Desktop 4.0.0 ()
Engine:
Version: 28.1.1
API version: 1.49 (minimum version 1.24)
Go version: go1.23.8
Git commit: 01f442b
Built: Fri Apr 18 09:52:57 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.27
GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
runc:
Version: 1.2.5
GitCommit: v1.2.5-0-g59923ef
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Installing Docker Desktop for Mac is equivalently simple. You can go directly to Docker's products page hit Download Docker Desktop and choose between the x86 Intel or ARM Silicon versions to run Docker on. Being a UNIX-based operating system, running Docker on Mac gives an undoubtful system performance boost from it's Windows counterpart application.
Docker Desktop on Mac installs server-side components and packages inside a lightweight VM (LinuxKit), which in turn fully exposes an API to your local environment - this allows for a truly "Docker-native" environment and a cleaner architecture to run Docker containers.
If you do not have the option to install Docker Desktop (due to Linux being your OS of choice) then Poulton suggests to install Multipass. Multipass is a tool by the company behind Ubuntu (Canonical) that works as a simplified VM manager for Ubuntu virtual machines. We can use Multipass in our Linux environment to create disposable and isolated development environments.
After installing Multipass with the command: snap install multipass
We can then create a new VM based on the docker image:
multipass launch docker --name node1
After taking a few moments to wait for multipass to download the image and launch the VM, we can see run the following commands to see that our VM is both running and, as we connect to it, it definitely has Docker installed:
mehmet@LAPTOP-0NQC2UPU:~$ multipass ls
Name State IPv4 Image
node1 Running 10.101.20.137 Ubuntu 24.04 LTS
mehmet@LAPTOP-0NQC2UPU:~$ multipass shell node1
Welcome to Ubuntu 24.04.3 LTS (GNU/Linux 6.8.0-85-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Tue Oct 7 20:13:52 BST 2025
ubuntu@node1:~$ docker --version
Docker version 28.5.0, build 887030f
Chapter Summary
Docker is truly ubiquitous. It can be run almost anywhere and installing it is easier ever before. With this said, Docker Desktop is clearly the gold standard for running Docker containers in your local environment. It has a slick UI, easy access to 3rd party Docker extensions and it even lets you spin up Kubernetes clusters.