3 ms·
I'm not James, but I have opinions! :D A docker image runs a full operating system. There are some light OSs for docker, but that's still heavier than a snap.
by elopio 10y ago
I'm not James, but I have opinions! :D
A docker image runs a full operating system. There are some light OSs for docker, but that's still heavier than a snap.
The snap runs directly on your host, with a different kind of isolation to make it secure. So it also makes easy other kinds of communication between apps, like unix sockets or dbus.
Then there's the great feature of autoupdates. If the openstack developers push a new version, it will reach all the users within 4 hours. On a docker container you can have the same problems you have in classic distros. You'll get an old version by default, and you have to apply hacks or accept other risks if you want to get a newer.
What would be awesome is to be able to run snaps inside docker containers. That will be a mix of both worlds, docker for replication and adding or removing new machines as the load changes; snaps for getting the software into those machines. We can currently do that with linux containers, maybe at some point docker will support them too.
And we have snaps for docker and lxd, make sure to give them a try:
$ sudo snap install docker
$ sudo snap install lxd
- timthelion 10y agoTo what extent is snap a new package manager and to what extent is it a security mechanism? Does it actually prevent the application from getting full access to the user's home directory?
- elopio 10y agoIt's a new package manager that implements existing linux security mechanisms. It will use apparmor to confine the snap to the directories that it is allowed to read and write. By default, $HOME/snap/snap-name/ Then the snap can use interfaces to go out of its confinement and access things that the user has agreed to allow: https://github.com/snapcore/snapd/wiki/Interfaces https://github.com/snapcore/snapd/wiki/Interfaces
- timthelion 10y agoCool, though it seems to be "insecure by defualt". I presume that there will be some clear way to say "I don't trust this snap, dissable everything like gsettings, pulseaudio microphone support, ect. that I wouldn't want some random untrusted code to access..." I didn't know that DBUS supported selectively allowing access to selected services. I thought that was a new feature in the non-accepted kdbus. That was certainly what the redhat folks wrote. They wrote that it isn't possible to secure dbus without kdbus...
- mhall119 10y agoThis works: > snap disconnect <snap>:<plug> Then you can reconnect with: > snap connect <snap>:<plug> dbus mediation is something that Canonical developers added, IIRC.
- timthelion 10y agoI saw it in the docs, but my question was how did they do it when this is a missing feature in DBus... So Canonical added this feature to dbus but it hasn't made its way upstream or redhat chooses to ignore the new feature so that they have a reason to promote kdbus. OK.