AzureStorageExplorer
AzureStorageExplorer copied to clipboard
Snap Package Installs Docker
Storage Explorer Version
1.38.0
Regression From
No response
Architecture
x64
Storage Explorer Build Number
20250408.1
Platform
Linux (snap)
OS Version
Debian 12
Bug Description
Installing the Azure Data Studio Snap package or updating it automatically installs the "docker" Snap package.
This is very bad because the Docker Snap cannot coexist with another Docker instance installed on the same computer using a different package manager like apt.
In my case, the update to version 1.38.0 happened automatically and silently installed the Docker Snap. After the update, my other Docker installed using apt was no longer able to start. And it took me many hours to figure out that this was because of the conflicting Snap which was installed silently.
Steps to Reproduce
sudo snap install storage-explorersnap list- See the "docker" Snap on the list of installed packages
Actual Experience
The "docker" Snap package is installed automatically and breaks any other Docker instance installed using a different package manager.
Expected Experience
The "docker" Snap should not be installed silently.
Additional Context
No response
Hi @bassem-mf, thanks for bringing this issue to light. We will take a look into this, though it might take a couple weeks since our docker and snap expert is currently out. We will get back to you once we have any updates. Thanks!
@bassem-mf I think you meant to say the Storage Explorer snap, and not the "Azure Data Studio" snap?
This is very bad because the Docker Snap cannot coexist with another Docker instance installed on the same computer using a different package manager like apt.
Is this true? Through our own testing, we are able to have both apt installed Docker and the Docker snap. Perhaps the issue is there are multiple daemons trying to take control of the same Docker context? Do you have any logs or error mesages you can share?
@craxal Sorry, yes, I meant the Storage Explorer Snap.
I posted a question on the Docker forum when I was still trying to figure out the issue. It has the Docker daemon logs. https://forums.docker.com/t/yet-another-cannot-connect-to-the-docker-daemon-post/147764
Without the Docker snap, certain emulator-related features simply won't work, so I don't think not installing the snap is a viable solution here.
That said, we have encountered other problems with the snap environment (such as in #5363 or #8232). Storage Explorer is inherently limited by the strict sandbox nature of snaps.
At its core, Storage Explorer is a developer application. It's worth noting that other dev tools, such as VSCode, are classic snaps, meaning they run like "ordinary" apps and are not restricted the same way strict snaps are (they can run any console command, interact with the host system, read and write to all file system locations, etc.). That being the case, it makes sense for Storage Explorer to be a classic snap.
We plan on investigating this further to see if running Storage Explorer as a classic snap helps resolve this and other issues. If that's the case, we should be able to remove the Docker snap as a direct dependency.
This is a perpetually annoying issue for me as well. Today was the third time I've had to uninstall docker from snap, because storage-explorer had quietly reinstalled it. When they are both installed, two docker daemons run in the background and cause some strange interference and issues with normal docker usage. All of the features I use in storage-explorer seem to work just fine without it, so wouldn't a simple solution here be to prompt the user to "install docker from snap", if they need to use the features that require it? Perhaps informing them of the potential interference it can cause if they have another version of docker running on their system?
I’m tired of removing the Snap Docker package because of this silent dependency, and my coworkers too. It happens every 3-4 weeks. It tooks us months to find the origin of the problem in the team (we did it thanks to the Snap community). How to help fixing this? Thank you