What's the deal with Docker?
I never understood how to use Docker, what makes it so special? I would really like to use it on my Rapsberry Pi 3 Model B+ to ease the setup process of selfhosting different things.
I'm currently running these things without Docker:
- Mumble server with a Discord bridge and a music bot
- Maubot, a plugin-based Matrix bot
- FTP server
- Two Discord Music bots
All of these things are running as systemd services in the background. Should I change this? A lot of the things I'm hosting offer Docker images.
It would also be great if someone could give me a quick-start guide for Docker. Thanks in advance!
You are viewing a single comment
I feel that a lot of people here are missing the point. Docker is popular for selfhosted services for a few main reasons:
Docker also has lots of downsides. I would generally say that if your distribution packages software I would prefer the distribution's package over the docker image. A good distribution package will also solve all of these problems. The main issue you will see with distribution packages is a longer delay before new versions are made available.
What Docker completely dominates was previous cross-distribution packaging options which typically took one of the previous strategies.
Sorry if I’m about 10 years behind Linux development, but how does Docker compare with the latest FlatPak trend in application distribution? How you have described it sounds somewhat similar, outside of also getting segmented access to data and networks.
For desktop apps Flatpak is almost certainly a better option than Docker. Flatpak uses the same core concepts as Docker but Flatpak is more suited for distributing graphical apps.
Generally I would still default to my distro's packages where possible, but if they are unsuitable for whatever reason (not available, too old, ...) then a Flatpak is a great option.
Docker is to servers, as flatpak is to desktop apps.
I would probably run away if i saw flatpak on a headless server
Flatpak has better security features than docker. While its true it's not designed with server apps in mind, it is possible to use its underlying "bubblewrap" to create isolated environments. Maybe in the future, tooling will improve its features and bridge the gap.