Snaps are
- Immutable, but still part of the base system.
- Integrated in terms of network, so share the system IP address, unlike Docker, where each container gets its own IP address.
- In other words, Docker gives us a thing there. Snaps gives us a thing here. For example, on a desktop, a snap provides an app right on it.
- A snap can't pollute the rest of the system. It's in its own box. But it can still see (read-only) the rest of the system, which allows it to talk and integrate with the system.
container package
what's the main difference between Docker and Snap?
You might find Mark Shuttleworth's talk "Why we need a different container purely for apps" at Container Camp relevant to your question. He talks generally about VMs, containers and Docker at the start, continuing on to snaps and how they fit in about nine minutes in.
https://askubuntu.com/questions/808524/whats-the-main-difference-between-docker-and-snap


Seonglae Cho