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!
I’ve used Docker a fair bit over the years because it’s a simple line of code I can copy/paste to get a simple web server running.
I ran Home Assistant Supervised in Docker for many years. It was a few lines of code and then I basically had Home Assistant OS running on my Pi without it taking over the whole Pi, meaning I could run other things on it too.
That ended when HA just died one day and I had no clue how to get it running again. I spent a day trying, then just installed HA OS on the Pi instead.
Anyway I now have a Dell Optiplex and Proxmox and I’ve gone back to Docker. Why? Well I discovered that I could make a Linux VM and install Docker on it, then add the Docker code to install a Portainer client to it, then make that into a template.
Meaning I can clone that template and type the IP address into Portainer and now I have full access to that Docker instance from my original Portainer container. That means I can bang a Docker Compose file into the “Stack” and press go, then tinker with the thing I wanna tinker with. If I get it working it can stay, if I don’t then I just delete the VM and I’ve lost nothing.
Portainer has made Docker way more accessible for me. I love a webui
I use proxmox to run debian VMs to run docker compose “stacks”.
Some VMs are dedicated to an entire servicecs docker compose stack.
Some VMs are for a docker compose of a bunch of different services.
Some services are run across multiple nodes with HA VIPs and all that jazz for “guaranteed” uptime.
I see the guest VM as a collection, but there is only ever 1 compose file per host.
Has a bit of overhead, but makes it really easy to reason about, separate VLANs and firewall rules etc
What is Portainer? You’ve said that it’s a web UI, but what exactly does it provide you with?
Well the webui provides me with a list of containers, whether they’re running or not, the ports that are opened by the containers. There’s Stacks which are basically Docker Compose files in a neat UI. The ability to move these stacks to other instances. There’s the network options and ability to make more networks, the files that are associated with the containers.
And not just for the instance I’m in, but for all the instances I’ve connected.
In my previous experience with Docker these are all things that I need to remember code to find, meaning I most often have to Google the code to find out what I’m after. Here is neatly packaged in a web page.
Oh and the logs, which are really useful when tinkering to try get something up and running
Sounds awesome! I’ve taken a look at Portainer and got confused on the whole Business Edition and Community Edition. What are you running?
Community edition. It’s free!
Docker can be many things - and portainer is a nice replacement for those using docker for running services. It’s got a great web interface. For automation and most development docker and compose is my pick. Also a good fit for those that only use X to spawn terminals.
Does portainer, and docker in turn, allow taking/accessing something like point in time snapshots of containers like VM software do? They make it easy to tinker with stuff, knowing that if I mess up, I can go back to a snapshot and be good again.
Not to my knowledge no