Why Docker-Desktop isn’t the best option for Linux users: A closer look

Gayan Kodithuwakku
Nerd For Tech
Published in
5 min readMay 13, 2023

Docker-Desktop is a GUI(Graphical User Interface) software tool that makes it easy for developers to create and manage containers on their computers. Containers are a way of packaging software so that it can run consistently across different machines, which can save time. Docker-Desktop has become popular among developers because it provides an easy-to-use graphical interface for working with containers, and because it supports a wide range of operating systems. Also, Docker-Desktop provides a k8s cluster as well.

However, if you’re using Linux as your operating system, Docker-Desktop may not be the best option for you. In this blog post, we’ll take a closer look at why this is the case, and we’ll explore some alternative tools that Linux users can consider. Whether you’re a seasoned Linux user or you’re just starting out, this post will help you make an informed decision about which Docker tools to use.

Why Docker-Desktop is popular?

One reason why Docker-Desktop is popular among developers, particularly those on non-Linux platforms, is that it provides an easy-to-use interface that can make it easier to get started with containerization. It also includes a number of useful features, such as a built-in registry for storing images and a command-line interface for more advanced users. Overall, Docker-Desktop is a powerful tool that can help developers to work more efficiently with Docker, but as I said earlier it may not be the best option for Linux users.

The Problems with Docker-Desktop on Linux

While Docker-Desktop is a popular tool among developers, it can pose some challenges when used on Linux operating systems.
For example, performance issues and compatibility problems may arise when running Docker-Desktop on Linux, as the tool is primarily designed to work with Windows and macOS operating systems.

One specific example of a problem that users may encounter when using Docker-Desktop on Linux is that the Java compiler may not be able to identify the Docker engine of Docker-Desktop. As a result, errors such as “Is the docker daemon running?..” may occur.

This is because Docker-Desktop uses its own Docker engine that is not exposed to users on Linux, making it difficult for the Java compiler to find the port on which the Docker daemon is running.

Very high-level basic view of the issue

In my personal experience, I also faced this issue when using Docker-Desktop on Linux. While Docker-Desktop worked fine for most of my development needs, I ran into problems when I wanted to use Docker in my Spring Boot app runtime. To resolve the issue, I had to uninstall Docker-Desktop and install the Docker Community Edition engine, which is designed specifically for Linux users.

Very high-level basic view of the solution

Although it is possible to have both Docker-Desktop and the Community Edition engine installed on a Linux machine, it can lead to confusion and other issues during development.

Because if you have installed both Docker Desktop and Docker Community Engine, Linux by default uses the Docker Community Engine. However, if you run and open the Docker Desktop application, it switches to the Docker Desktop Engine. As a result, any Docker images that you have already downloaded or created in the Docker Community Engine won’t be available when you switch to the Docker Desktop Engine and vice versa. But it’s your choice whether you use two docker engines in your Linux machine or not.

Overall, if you are using Linux as your operating system, it may be best to avoid using Docker-Desktop and instead use the Docker Community Edition engine. This will help to ensure compatibility and performance, and it will make it easier to use Docker with your development tools.

Alternative Tool for Linux Users

There are also some other tools that can be helpful for managing Docker containers on Linux.

I recommend the VS Code Docker extension, which is very lightweight & provides a very basic graphical interface for managing Docker containers & images. With this extension, you can view your Docker images and containers, see which containers are running, and which are stopped, and view container logs.

Docker VS Code Extension

For more details, visit https://code.visualstudio.com/docs/containers/overview

The VS Code Docker extension can provide many of the features of Docker-Desktop, making it a great tool for those who prefer a graphical interface. Additionally, it is free to use and can be easily installed as an extension in VS Code.

Conclusion

In conclusion, we have discussed the popularity of Docker-Desktop and its limitations & drawbacks when used by Linux users. While Docker-Desktop can be an easy solution for those on non-Linux platforms, it can cause problems when used on Linux machines. These problems can include performance issues and compatibility problems with Java & other compilers.

I recommend that Linux users consider using the VS Code Docker extension instead of Docker-Desktop. This extension can provide similar functionality and a basic but useful graphical interface for managing Docker containers on Linux machines. And Linux users should not miss the Docker Community Edition engine which is the perfect Docker engine for Linux users.

In addition, we have also discussed the VS Code Docker extension, which provides a graphical interface for managing Docker containers and can be a great alternative to Docker-Desktop.

In conclusion, we encourage readers to consider other alternative tools and to share their experiences with Docker-Desktop and other Docker tools in the comments. By doing so, we can continue to learn from each other and improve our development processes.

--

--

Gayan Kodithuwakku
Nerd For Tech

Hi, I'm Gayan, a freelance Developer, keen on UX research. IT Undergraduate Student & Cyber Security Enthusiast