3 ms·
A MacOS App is just what you need to run the app on MacOS. A Docker Image is essentially a mini operating system in a can. Most Docker images contain shells, th
by ogre_codes 6y ago
A MacOS App is just what you need to run the app on MacOS. A Docker Image is essentially a mini operating system in a can. Most Docker images contain shells, the entire Python install, an init sequence... piles and piles of redundant stuff.
If you are running a Docker image on MacOS or Windows, you first have to start docker which is itself a Linux Virtual machine.
Docker is a great dev tool, but if you don't need it, it's a ton of bloat.
- m463 6y agoI think you are responding too literally to his comment, which is spot on. A macos app is running in a sandbox and runs in a conceptually similar way to docker. Go look in ~/Library/Containers also look at the filesystem under <appname>.app
- oefrha 6y agoExcept Mac apps don’t each ship a libSystem.
- AnIdiotOnTheNet 6y agoBecause unlike Linux they don't have to, since MacOS actually defines the concept of a stable base system that can be targeted by applications. Docker exists in part because the Linux world has no such concept.
- ogre_codes 6y agoThats the point here. The two aren't similar at all. MacOS apps contain all the app. Mac Apps leverage all of the OS functionality they can. They are strongly tied to MacOS and rely on it for most functionality. When I upgraded to Big Sur, the Mac Apps that run on my computer adapt to the changed OS libraries and often present differently. Docker apps contain their own complete environment. They are deliberately engineered to disassociate from the base OS. Electron is a sort of middle ground largely ignoring many system libraries, but using others. The only thing Docker has in Common with Mac Apps is the fact that they keep associated files bundled together.
- ogre_codes 6y ago> I think you are responding too literally to his comment, which is spot on. Should I respond metaphorically? > A macos app is running in a sandbox and runs in a conceptually similar way to docker. A Mac App fundamentally has access to system libraries and leverages those. A Docker container is designed to ignore the system and builds its own environment. If you run a Docker container on a Mac or Windows, you are now running 3 operating systems. The host OS, the VM, and the Docker image. This is not the same as a Mac App. Literally, figuratively, or hypothetically.