Ajeet Raina Docker Captain, ARM Innovator & Docker Bangalore Community Leader.

A First Look at Docker Desktop for Linux

4 min read

Did you Know? Docker Desktop for Linux was the second-most-popular issue on Docker’s public roadmap. The feature request was first raised in GitHub by Darragh Grealish (Community Enthusiast and Arm Innovator) in March 11, 2020. Thanks to Docker team for introducing this most awaited product in Dockercon 2022.

Why Linux developers need Docker Desktop?

One common reason why Linux developers were waiting for this product was to have unified Docker experience across all major operating systems, be it Ubuntu(DEB)Red Hat(RPM) or Arch Linux(Pacman).  Installing and maintaining Docker binaries on all these diverse Linux platform is still painful. Keeping up the latest Docker releases still require refreshing repository indexes and ensuring that the system packaging management doesn’t break.

With this new product offering, it’s always easy to keep your Docker version up-to-date and officially supported by Docker Team. The new Docker Desktop UI makes it so much easier to manage volumes, containers and images, as well as providing insights in to the Docker processes running locally on your machine.

Not only this, Docker Desktop allows you to run Kubernetes too. Installing Kubernetes is still not an easy task, that’s the reason why we have multitude of Kubernetes tools available in the market to make it seamless. Thanks to Docker Desktop, now you don’t really need to rely on 3rd party tool to install and maintain the latest version of Kubernetes on your desktop system.

In this blog post, you will see how to get started with Docker Desktop for Linux for the first time.

Getting Started

Download the correct package for your Linux distribution and install it with the corresponding package manager.

I have Ubuntu 22.04 installed on my HP Pavilion, hence I will go ahead and download the latest Docker Desktop 4.8.1 DEB package for my system.

Step 1. Setting up Docker’s package repository

Run the following command to update the apt package index:

sudo apt update

Install packages to allow apt to use a repository over HTTPS.

Step 2. Add Docker’s official GPG key

 sudo mkdir -p /etc/apt/keyrings
 	Added:  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Step 3. Set up the Repository

echo \
 	Added:  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
 	Added:  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Step 4. Update the Repository Index

sudo apt update

Step 5. Install Docker Desktop

apt install ./docker-desktop-4.8.2-amd64.deb

Once the installation gets completed, you will see the following window displaying Docker Desktop v4.8.2 with Docker Engine 20.10.4 and Kubernetes v1.24.0 already installed for you.

Upgrading the Docker Desktop

In case you want to upgrade the Docker Desktop, click on “Whale icon”. Click on “Updates” and then it will allow you to download the latest package in your system. You just need to run the same apt install command to upgrade it to the latest release.

Using Docker Desktop UI

The Docker Preferences menu allows you to configure your Docker settings such as installation, updates, version channels, Docker Hub login, and more.

Choose the Docker menu whale menu > Preferences from the menu bar and configure the runtime options described below.

On the General tab, you can configure when to start Docker and specify other settings:

  • Start Docker Desktop when you log in: Automatically starts Docker Desktop when you open your session.

  • Send usage statistics: Docker Desktop sends diagnostics, crash reports, and usage data. This information helps Docker improve and troubleshoot the application. Clear the check box to opt out.

  • Show weekly tips: Displays useful advice and suggestions about using Docker.

  • Open Docker Desktop dashboard at startup: Automatically opens the dashboard when starting Docker Desktop.

  • Use Docker Compose V2: Select this option to enable the docker-compose command to use Docker Compose V2. For more information, see Docker Compose V2.

Dev Environments

 

Dev Environments feature is supported in Docker Desktop for Linux. Dev Environments enable you to collaborate easily by allowing you to share work-in-progress code with your team members. When using Dev Environments, you can easily set up repeatable development environments, keeping the environment details versioned along with your code. You can also share your work-in-progress code with your team members in just one click and without having to deal with any merge conflicts while moving between Git branches to get your code on to their machine.

Learn more about Dev Environments.

Using Kubernetes

Docker Desktop includes a standalone Kubernetes server and client, as well as Docker CLI integration that runs on your machine. The Kubernetes server runs locally within your Docker instance, is not configurable, and is a single-node cluster.

To enable Kubernetes in Docker Desktop, go to Preferences > Kubernetes and then click Enable Kubernetes.

Enabling Kubernetes

Click Apply & Restart to save the settings and then click Install to confirm. This instantiates images required to run the Kubernetes server as containers, and installs the /usr/local/bin/kubectl command on your machine.

Learn more about Kubernetes in Docker Desktop

Using Docker Extensions Marketplace

Docker Extensions lets you use third-party tools within Docker Desktop to extend its functionality. There is no limit to the number of extensions you can install. Docker Extensions is available as part of Docker Desktop 4.8.0 or a later release.

Learn more about Docker Extensions Marketplace

 

With the new Docker Desktop v4.8.0+, the Extensions SDK makes it easy for you to create your own custom Docker Desktop functionalities. You can create and install an extension in minutes with the Extensions CLI, and use predefined commands to build your extension for multiple architectures, share it with your team, and publish it on Docker Hub. Amazing, isn’t it?

There are 16 initial Docker Extensions made available by Docker, Inc that are listed below:

  • Ambassador Telepresence
  • Anchore – Content and security analysis for container images
  • Aqua Trivy
  • Disk Usage
  • Epinio
  • Gosh
  • JFrog
  • Portainer
  • Meshery
  • Logs Explorer
  • Okteto
  • Snyk
  • Tailscale
  • Uffizzi
  • VMware Tanzu Community Edition
  • OpenShift

Let us try installing Disk Usage that will help us optimize disk space by removing unused objects from Docker Desktop.

  1. Open Docker Desktop.
  2. From the Dashboard, select Add Extensions in the menu bar. The Extensions Marketplace opens.
  3. Browse the available extension, choose Disk Usage.
  4. Click Install.
    From here, you can click Open to access the extension or install additional extensions. The extension also appears in the menu bar.

Docker Extensions are made available in the form of Docker images, hence the reason why you can see it available under Images section in the Dashboard UI.

Click on “Disk Usage” on the left sidebar to see the reclaimable space.

Click “Reclaim space” to clean up unused objects from Docker Desktop.

 

Logs Explorer in Docker Extensions Marketplace

If you want to see what happens behind the scene when Kubernetes is enabled under Docker Desktop for the first time, then try out Logs Explorer Docker Extension. With a single click, you ca install it using Docker Extensions Marketplace and view the logs and troubleshoot as shown in the following screenshot.

 

 

References:

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

Ajeet Raina Docker Captain, ARM Innovator & Docker Bangalore Community Leader.

51 Replies to “A First Look at Docker Desktop for Linux”

  1. I together with my pals ended up examining the nice guides from the blog and all of a sudden came up with a horrible feeling I never thanked the blog owner for those secrets. The men became absolutely excited to study them and now have clearly been taking advantage of those things. I appreciate you for turning out to be simply considerate as well as for pick out these kinds of good subjects most people are really needing to be aware of. Our own sincere apologies for not expressing gratitude to earlier.

  2. When I initially commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get several e-mails with the same comment. Is there any way you can remove me from that service? Thanks!

  3. What i do not realize is in truth how you’re no longer really much more well-preferred than you might be now. You’re very intelligent. You understand thus considerably on the subject of this topic, produced me in my opinion imagine it from numerous varied angles. Its like men and women don’t seem to be involved except it is one thing to accomplish with Lady gaga! Your own stuffs nice. All the time maintain it up!

  4. This design is steller! You definitely know how to keep a reader amused. Between your wit and your videos, I was almost moved to start my own blog (well, almost…HaHa!) Excellent job. I really enjoyed what you had to say, and more than that, how you presented it. Too cool!

  5. I was very pleased to find this web-site.I wanted to thanks for your time for this wonderful read!! I definitely enjoying every little bit of it and I have you bookmarked to check out new stuff you blog post.

  6. I am not sure where you are getting your information, but great topic. I needs to spend some time learning more or understanding more. Thanks for great info I was looking for this information for my mission.

  7. Wow! This can be one particular of the most useful blogs We’ve ever arrive across on this subject. Actually Great. I’m also a specialist in this topic so I can understand your hard work.

  8. I¦ve been exploring for a little bit for any high-quality articles or weblog posts in this kind of area . Exploring in Yahoo I at last stumbled upon this website. Studying this information So i am happy to show that I have an incredibly good uncanny feeling I found out exactly what I needed. I such a lot certainly will make sure to don¦t forget this website and provides it a look on a constant basis.

  9. I used to be very happy to search out this net-site.I needed to thanks in your time for this excellent read!! I definitely having fun with each little little bit of it and I’ve you bookmarked to check out new stuff you weblog post.

  10. Thank you, I have recently been looking for information approximately this subject for a while and yours is the best I’ve came upon till now. But, what about the conclusion? Are you sure in regards to the supply?

  11. Excellent goods from you, man. I have be aware your stuff prior to and you are just extremely excellent. I really like what you’ve received right here, really like what you are stating and the best way by which you say it. You are making it enjoyable and you still take care of to keep it sensible. I can not wait to read far more from you. That is actually a tremendous site.

  12. Hi, just required you to know I he added your site to my Google bookmarks due to your layout. But seriously, I believe your internet site has 1 in the freshest theme I??ve came across. It extremely helps make reading your blog significantly easier.

  13. I genuinely enjoy reading through on this internet site, it contains great articles. “And all the winds go sighing, For sweet things dying.” by Christina Georgina Rossetti.

  14. whoah this blog is wonderful i love reading your articles. Keep up the good work! You know, lots of people are searching around for this information, you can help them greatly.

  15. What i do not understood is if truth be told how you’re no longer actually a lot more well-liked than you might be right now. You are so intelligent. You realize therefore significantly in terms of this subject, made me individually believe it from so many various angles. Its like men and women don’t seem to be interested except it is one thing to accomplish with Lady gaga! Your personal stuffs nice. All the time deal with it up!

  16. Thanks a lot for sharing this with all of us you really know what you’re talking about! Bookmarked. Kindly also visit my website =). We could have a link exchange contract between us!

  17. Thank you for sharing superb informations. Your web-site is so cool. I am impressed by the details that you have on this blog. It reveals how nicely you perceive this subject. Bookmarked this website page, will come back for extra articles. You, my friend, ROCK! I found simply the information I already searched all over the place and just couldn’t come across. What a perfect web-site.

  18. Thanks for some other informative web site. Where else may I get that kind of information written in such a perfect method? I have a undertaking that I am simply now working on, and I have been at the glance out for such info.

  19. Hi, just required you to know I he added your site to my Google bookmarks due to your layout. But seriously, I believe your internet site has 1 in the freshest theme I??ve came across. It extremely helps make reading your blog significantly easier.

  20. Great goods from you, man. I have consider your stuff previous to and you are just extremely fantastic. I really like what you’ve bought here, really like what you’re stating and the way through which you assert it. You make it enjoyable and you still take care of to keep it wise. I cant wait to read far more from you. That is really a tremendous website.

  21. Nice read, I just passed this onto a colleague who was doing some research on that. And he just bought me lunch since I found it for him smile Thus let me rephrase that: Thanks for lunch!

  22. Its like you learn my thoughts! You appear to grasp so much approximately this, such as you wrote the book in it or something. I believe that you could do with a few percent to force the message house a little bit, however instead of that, that is great blog. An excellent read. I will definitely be back.

Leave a Reply

Your email address will not be published.

© Copyright Collabnix Inc

Built for Collabnix Community, by Community