WizardStan
Mega GP Mania
- Joined
- May 24, 2008
- Messages
- 16,731
I've been working with Docker at my new job, and I realized, they're basically PND/DBP packages[*]. Download a squashFS file, union mount, and overlay a data directory, run/restart a command. Everything is automatically sandboxed.
Docker containers can be stored anywhere, even on removable storage, but once mounted they function as if they are part of the filesystem: no need for modifying paths or home or whatever, if something expects to "install" into /etc it can, but that gets sandboxed within the container. No container can access files outside of itself unless explicitly stated, so malicious containers are kept to a minimum. You can, however, make one container dependent on the filesystem of another, so it would be trivial to, for example, create a "midi" container which has installed all the necessary files for doing midi, and then any further containers that want to play midi music can simply depend on this midi container; nothing needs to run in this midi container, it doesn't take up any additional resources, it's simply a read-only filesystem overlay, exactly what a lot of people complained was desirable but not possible with PNDs. A java or mono docker container would be no problem; you could even have multiple versions, a "java6" container, and a "java8" container, in the event that some apps don't work with the new java machine. There's even some progress getting Android apps to run inside of a docker container on Linux.
It even has a really easy and powerful command line installation and execution: "docker run [assortment of options] repo.openpandora.org/TheGame"
If "TheGame" has been downloaded before, it'll start. If it hasn't, it'll download it automatically. In the future you just run "docker start TheGame" and it goes.
It has a lot of pre-existing packages: starting an apache webserver is no problem, add on a mysql container, you can have yourself a complete LAMP setup in minutes.
Not to disparage all the hard work of those working on DBP, but I would strongly suggest looking into using this as a packaging system, even if that meant scrapping DBP. It's well supported, well tested, and will continue being supported for a long time to come.
[*]Seriously, everything about Docker makes me think whoever came up with the idea is also a Pandora owner, and a highly contributing member at that... so which one of you is it?
Docker containers can be stored anywhere, even on removable storage, but once mounted they function as if they are part of the filesystem: no need for modifying paths or home or whatever, if something expects to "install" into /etc it can, but that gets sandboxed within the container. No container can access files outside of itself unless explicitly stated, so malicious containers are kept to a minimum. You can, however, make one container dependent on the filesystem of another, so it would be trivial to, for example, create a "midi" container which has installed all the necessary files for doing midi, and then any further containers that want to play midi music can simply depend on this midi container; nothing needs to run in this midi container, it doesn't take up any additional resources, it's simply a read-only filesystem overlay, exactly what a lot of people complained was desirable but not possible with PNDs. A java or mono docker container would be no problem; you could even have multiple versions, a "java6" container, and a "java8" container, in the event that some apps don't work with the new java machine. There's even some progress getting Android apps to run inside of a docker container on Linux.
It even has a really easy and powerful command line installation and execution: "docker run [assortment of options] repo.openpandora.org/TheGame"
If "TheGame" has been downloaded before, it'll start. If it hasn't, it'll download it automatically. In the future you just run "docker start TheGame" and it goes.
It has a lot of pre-existing packages: starting an apache webserver is no problem, add on a mysql container, you can have yourself a complete LAMP setup in minutes.
Not to disparage all the hard work of those working on DBP, but I would strongly suggest looking into using this as a packaging system, even if that meant scrapping DBP. It's well supported, well tested, and will continue being supported for a long time to come.
[*]Seriously, everything about Docker makes me think whoever came up with the idea is also a Pandora owner, and a highly contributing member at that... so which one of you is it?