Docker Con 2022’s biggest highlight was the launch of the Docker Desktop for Linux Users. For Windows and Mac users, this setup was already available for obvious reasons. But for Ubuntu desktop users like me, the only way to work was to use the Docker CLI for calling the backend containerd run time engine. Hence, I immediately tried to install docker desktop for my Ubuntu machine, once the news was public.
This deployment also pushed me to upgrade my desktop finally from 18.04 to 22.04 LTS release. (I tried 18.04 to 20.04 last year but my laptop did not boot up after the upgrade, so my fear was genuine this time, but thankfully all worked well this time.)
1. Pre Installation Checks
Before proceeding with the Docker Desktop installation, I checked my docker services are upgraded and running after the Ubuntu upgrade.
dev@dev-Lenovo-G50-80:~$ docker compose version Docker Compose version v2.5.1 dev@dev-Lenovo-G50-80:~$ docker --version Docker version 20.10.16, build aa7e414 dev@dev-Lenovo-G50-80:~$ dev@dev-Lenovo-G50-80:~$ systemctl status docker | grep Active Active: active (running) since Sun 2022-05-22 14:34:26 +08; 23min ago dev@dev-Lenovo-G50-80:~$
2. Download and Installation
Next, we need to download the docker desktop Debian package from here, https://docs.docker.com/desktop/release-notes/
Once the file is in your directory, install using apt ubuntu utility for package installation.
dev@dev-Lenovo-G50-80:~$ apt install /home/dev/docker-desktop-4.8.2-amd64.deb
3. Verification and Use of Docker Desktop
Post the installation, you can search and open the Docker desktop application.
Optionally, we can also have a secured passphrase configured for our Docker desktop application.
dev@dev-Lenovo-G50-80:~/Downloads$ gpg --generate-key gpg (GnuPG) 2.2.27; Copyright (C) 2021 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Note: Use "gpg --full-generate-key" for a full featured key generation dialog. GnuPG needs to construct a user ID to identify your key. Real name: Devesh Email address: email@example.com You selected this USER-ID: "Devesh <firstname.lastname@example.org>" Change (N)ame, (E)mail, or (O)kay/(Q)uit? O We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. gpg: key 28B1D21AE697551D marked as ultimately trusted gpg: directory '/home/dev/.gnupg/openpgp-revocs.d' created gpg: revocation certificate stored as '/home/dev/.gnupg/openpgp-revocs.d/DAFAB910CFCA42DA22386D7428B1D21AE697551D.rev' public and secret key created and signed. pub rsa3072 2022-05-22 [SC] [expires: 2024-05-21] DAFAB910CFCA42DA22386D7428B1D21AE697551D uid Devesh <email@example.com> sub rsa3072 2022-05-22 [E] [expires: 2024-05-21] dev@dev-Lenovo-G50-80:~/Downloads$ pass init DAFAB910CFCA42DA22386D7428B1D21AE697551D mkdir: created directory '/home/dev/.password-store/' Password store initialized for DAFAB910CFCA42DA22386D7428B1D21AE697551D
Once all set, we can now run containers, download images, and access the container’s shell via a single GUI.