In an online training course, the instructor mentioned that he has "an Ubuntu virtual machine installed with Docker Desktop"; therefore, I am trying to install the same on a Windows 10 physical host following the instructions on the official website.
However, the apt-get install didn't work, and the error message was docker-desktop : Depends: docker-ce-cli but it is not installable. I am wondering whether I missed anything here.
We highly appreciate any hints or suggestions. Just let me know if you need more details.
Screenshot:
root@dockeru:/home/work/Downloads# ls docker-desktop-4.8.1-amd64.deb root@dockeru:/home/work/Downloads# apt-get install ./docker-desktop-4.8.1-amd64.deb Reading package lists... Done Building dependency tree... Done Reading state information... Done Note, selecting 'docker-desktop' instead of './docker-desktop-4.8.1-amd64.deb' Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help resolve the situation: The following packages have unmet dependencies: docker-desktop : Depends: docker-ce-cli but it is not installable E: Unable to correct problems, you have held broken packages. 8 Answers
You don't need to install Docker Engine alongside Docker Desktop unless you really need it. Docker's documentation clearly states:
Docker Desktop for Linux and Docker Engine can be installed side-by-side on the same machine. Using a dedicated storage location for Docker Desktop prevents it from interfering with a Docker Engine installation on the same machine. While it’s possible to run both Docker Desktop and Docker Engine simultaneously, there may be situations where running both at the same time can cause issues.
The issue you are facing is due to the missing Docker repository on your system, which you can resolve by following a part of Docker Engine's documentation as follows:
sudo apt install -y ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update -y After that, you can go on with the installation of Docker Desktop:
sudo apt install ./docker-desktop-<version>-<arch>.deb P.S. Don't get panic if you see the error below at the end of the installation process. Just ignore it and you'll be fine ;)
Download is performed unsandboxed as root as file docker-desktop- <version>-<arch>.deb couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) Update: Thankfully, the Docker team has modified their documentation accordingly.
11Don't forget to sudo apt-get update after setting up the repository:
You first need to install the docker engine. Official Docker Engine link Then you can follow the docker desktop guide. I think this is caused because docker desktop can't install without some dependencies that install with docker engine.
2To solve this issue I taped the commands below in this order
sudo apt install -y ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update -y sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin At the end I did
sudo docker run hello-world And you will see this :
Hello from Docker! This message shows that your installation appears to be working correctly. I hope that will help you I finalized the process and double-click on the file docker-desktop-4.15.0-amd64.deb to run the process Best regards
I am using Ubuntu (specifically Zorin OS) and ran into the same issue while installing. However, I've solved mine by following the Setup repository part of Install Docker Engine documentation, and after that, running the sudo apt-get install ./docker-desktop-<version>-<arch>.deb to install the .deb file again. And it worked.
How this works? Because apt will try to automatically install any required dependencies that are not installed/unmet. It tried to do it in this case, however, it doesn't know docker-ce-cli because it's not in the default apt repository or in any other apt repository it currently uses. But by successfully adding the Docker repository to apt by following the steps in the Install Docker Engine documentation, it can now see and knows the docker-ce-cli package. And when you run the sudo apt install on the docker desktop deb package, it will now automatically install the docker-ce-cli along with other required dependencies.
Thanks for this. I as well had the same problem and had to search for a solution. The Mac OSX and Windows installers all come as a single package, but the Linux one does require the Docker engine to be installed first.
The Docker Desktop for Linux should detect that the engine isn't installed and give you a more useful error than
docker-desktop : Depends: docker-ce-cli but it is not installable But if it did that then how would the Linux community keep the riff-raff out? Yep. Linux is not for the faint of heart, or those who fear the command line.
FOR THOSE WHO ARE USING UBUNTU BASED DISTROS
- i suggest you to clean up first by
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done - In the third step, CHANGE the
"$VERSION_CODENAME"to"$UBUNTU_CODENAME". - Don´t forget to
sudo apt-get update.
If you read carefully this link: It says that you have to add the apt repository first. I had the same issue and solved by adding this: