NixOS, ProxMox, Debian or Ubuntu for Docker installation
from Babalugats@lemmy.world to linux@lemmy.ml on 01 Aug 10:22
https://lemmy.world/post/33804338

Sorry. I know that this or a similar question has been asked many times, and trying to find a decent answer i get redirected to reddit and blocked because of my VPN. I am looking for the preferred version of the above OS’s for installing Docker based on easiness and stability/reliability once installed. Is there such a distro as DockerOS or a Distro with Docker preinstalled? I thought I read something like that last year when I was threatening to pull my finger out the first time and get something up and running, but now I am not sure whether or not I have imagined it.

TIA

#linux

threaded - newest

nitrolife@rekabu.ru on 01 Aug 10:31 next collapse

There is no such distribution. And it’s not surprising. That is essentially one package with runc. I also recommend using an podman instead of docker. Then you won’t even need to do anything except apt install podman / dnf install podman.

UPD: At the moment, even systemd supports containers. systemd-nspawn daemon…

Babalugats@lemmy.world on 01 Aug 10:40 next collapse

Thanks, I’ve never heard of podman, I will have a look at that.

Whostosay@sh.itjust.works on 01 Aug 11:17 collapse

I had a rough time finding out whether or not regular docker containers are compatible with podman.

Do you have any good resources you could link regarding that and podman use?

Babalugats@lemmy.world on 01 Aug 11:34 next collapse

I’ve just went to the betterstack podman page after the above post, and there’s a good video that covers what you asked, there.

betterstack.com/community/…/podman-vs-docker/

Whostosay@sh.itjust.works on 01 Aug 11:36 collapse

Thanks friend

nitrolife@rekabu.ru on 01 Aug 12:16 collapse

Short answer: Yes. and you can install extra/podman-docker 5.5.2-1 ( Emulate Docker CLI using podman ) for full compatible.

Long answer: you can find all in official docs. docs.podman.io/en/latest/ . in general, the first step is always better not to ask abstract question in Google, but to read the official documentation

CameronDev@programming.dev on 01 Aug 10:34 next collapse

www.rancher.com - If you want a pure docker OS.

But really, almost all of the mainstream OS’s will run docker just fine. Pick the one you are comfortable with.

Babalugats@lemmy.world on 01 Aug 10:39 collapse

Thanks, I will have a look at that. Add it to ventoy.

pyssla@quokk.au on 01 Aug 10:35 next collapse

Hmm..., would you so kind to explain what the end goal is? I feel like we're dealing with the classic XY problem. But hopefully I'm wrong.

Babalugats@lemmy.world on 01 Aug 10:42 collapse

End goal is running docker with immich, navidrome, and something like jellyfin etc. Along with a few other things that I may add as I go along. Stability and low maintenance would probably suit me best

gonzo-rand19@moist.catsweat.com on 01 Aug 11:48 collapse

If stability is the goal, you really can't go wrong with Debian. I have about 10 containers running on Debian 12 (through Podman) at any given time.

LeFantome@programming.dev on 01 Aug 11:52 next collapse

Are you going to dedicate an entire machine to this?

First, you can run Docker on any distro. Although Debian is great, the version of Docker in the repos is not. So, for Debian, you are going to want to download and install Docker from Docker. Docker is a company.

There is also Podman. This is a competitor to Docker written by Red Hat. It has some technical advantages. I use Podman myself. The command line is basically the same. They host the same containers (OCI images).

If you are going to run a lot of images on a single machine, management can get complicated. many people like Portainer for that.

thenewstack.io/an-introduction-to-portainer-a-gui…

However, if you are going to dedicate a machine, I recommend Proxmox.

Proxmox takes over the hardware. It runs a hypervisor that lets you deploy virtual machines and containers easily. It gives you a great web-based UI to manage everything. Technically, it runs on Debian but you do not even need to know that. It deploys as on OS.

Proxmox actually has nothing to do with Docker. It allows you to deploy virtual machines (eg. Full Linux distributions or even Windows or other operating systems). It also allows you to create containers. However the contained technology is not Docker but actually LXC.

linuxcontainers.org

When you deploy an LXC container in Proxmox, it is like launching a Linux VM. You get a full Linux distro that looks like a virtual machine and that shows up on your network like a full computer. But, it shares the kernel with Proxmox and so is incredibly light and resource efficient.

You can connect to Proxmox via a web browser and see any of your virtual machine or container desktops in your web browser (even if just command line).

Proxmox itself is always online. But you can start and stop individual machines (vm or container) whenever you want.

You really cannot appreciate how powerful all this is until you try it.

So, how does this help you run Docker?

Well, for many things, you may actually find it easier to just use a VM or LXC to install and run whatever it is you want. For many applications, I find it easier to manage a Linux distro than a Docker container.

Or, you create a VM or an LXC and run Docker inside of it. You can even run Portainer. You can run many Docker containers in a single VM. Or, create a new VM or LXC if that makes things easier.

But it is so much easier to manage in Proxmox.

For example, I run a Debian LXC container to run PiHole as an ad blocker on my network. It is super lightweight and I launched it by running a script like they suggest on the PiHole website. And I created a VM (with its own virtual disk for storage) to run Immich (photo management). Even though I run Immich with Docker compose, it is just nicer and easier to manage when it is the only thing running on the “machine” (a QEMU VM in Proxmox) with its own filesystem. I can pull up the Immich machine whenever I want and I am at the command-line where the last command was the the Docker up that I ran months ago). Same story for Jellyfin.

Do you also want a NAS? You can run one under Proxmox. But another thing to consider would be running TrueNAS as a NAS and using its built-in Docker support to run your containers.

www.truenas.com/truenas-community-edition/

Babalugats@lemmy.world on 01 Aug 12:02 next collapse

Thank you for a great, detailed answer. Proxmox it is so. I was going with NixOS and definitely going to try Podman as I’ve been reading all about that while downloading and copying the Isos. I will be dedicating an entire machine and if I don’t do it today, I fear it will be another year before I come back to it. 🥴 I’m going to start it now . Thanks again.

Amaterasu@lemmy.world on 01 Aug 14:14 collapse

If it is a little home server Proxmox is difficult to beat.

Babalugats@lemmy.world on 01 Aug 18:46 collapse

Yep, that’s the plan. Still didn’t get around to it today. My “free” day and I’ve not sat down other than the few minutes earlier to write the OP and look at some of the replies l. Hopefully I’ll have a few hours to myself after dinner.

async_amuro@lemmy.zip on 01 Aug 14:04 collapse

This is how I handle my server, I have an older Mac Mini with a SSD and 16GB of RAM running Proxmox. I’ve got a Debian VM for Docker stuff (all pretty lightweight containers right now), a VM with Debian for a remote VS Code environment and LXC’s for Plex and PiHole. I also wanted to learn about NixOS, so I fired up a VM and installed it to test it out. I will say, I want to learn more NixOS… that’s not an easy or simple solution! Awesome OS and I love the concept, but you really have to be dedicated to learn the syntax and maintain it!

mvirts@lemmy.world on 01 Aug 14:37 collapse

What level of involvement are you looking for in setting up the host os?

I’m a NixOS fan because once you painstakingly get the configuration file set up you basically never need to do it again. If you don’t need anything outside of nixpkgs it’s easy, otherwise it’s terrible. Docker is available in nixpkgs.