I spent two hours today trying to figure out why Nextcloud couldn’t read my data directory. Docker wasn’t mounting my data directory. Moved everything into my data directory. Docker couldn’t even see the configuration file.
Turns out the Docker Snap package only has access to files under the /home
directory.
Moral of the story: never trust a Snap package.
Yah, it’s been trash from the start. I tried it 2 years ago and the unpredictable weird shit it did was useless to try to troubleshoot. It was worse than trying to run Docker on Windows, if that can be believed.
Debian with the Docker convenience script is the way to run Docker.
Docker has an apt repo. You can add it to your Debian/Ubuntu and install and update packages normally. No need to use a script install.
Is there a difference between the apt and the install script version?
all depends on what your aptitude is configured to look for.
I also like to run my container platform as a containerized application in another container platform.
Lol. Yeah that was my reaction to the headline as well. “You did what ?”
Why does Docker has a snap version in the first place anyway? Did Canonical pester them to do it?
Edit:
Nope, it’s just Canonical went ahead and publish it there by themselves.
This snap is built by Canonical based on source code published by Docker, Inc. It is not endorsed or published by Docker, Inc.
It’s insane how many things they push as Snaps when they are entirely incompatible with the Snap model.
I think everyone first learns what Snaps are by googling “why doesn’t ____ work on Ubuntu?” For me, it was Filebot. Spent an hour or two trying to figure out how the hell to get it to actually, you know, access my files. (This was a few years ago, so maybe things are better now. Not sure. I don’t live that Snap life anymore, and I’m not going back.)
It’s also offered as part of the installation process at least for Ubuntu server. If you don’t know better it bites you real quick.
deleted by creator
Friends don’t let friends use Snap.
Proprietary when flatpak exists, and it doesn’t properly address how apps should dynamically request access to things they need. Every time I’ve used either solution I’ve run into some permissions problem.
flatpak just makes sense imo
For desktop apps maybe. How do you run a flatpak from the cli? “flatpak run org.something.Command”. Awesome.
Both suffer from not making it obvious what directories your application can access and not providing a clear message when you try to access files it can’t. The user experience sucks.
“PSA: Snap sucks”
FTFY
Snap is one of those things that shouldn’t exist. There’s distrobox (podman) or flatpak both of which are more mature and flexible.
But this is by design, snap containers aren’t allowed to read data outside of their confinements. Same goes for flatpak and OCI-containers.
I don’t use snap myself, but it does have its uses. Bashing it just because it’s popular to hate on snap won’t yield a healthy discussion on how it could be improved.
Removed by mod
The issue here is that Canonical pushed the snap install without warning about its reduced functionality. I don’t think highlighting a wildly different experience between a snap install and the Docker experience people are used to from the standard package install is “bashing it just because it’s popular to hate on snap.” For example, if you take a fresh Ubuntu server 22 install and use the snap package, not realizing that snaps have serious limitations which are not explicitly called out when the snap is offered in the installation process, you’re going to be confused unless you already have that knowledge. It also very helpfully masks everything so debugging is incredibly difficult if you are not already aware of the snap limitations.
TIL, docker has a snap package, and can’t stop laughing. What’s next? A flatpak or AppImage?
A flatpak of the snap, running in a docker container inside a vm for maximum security.