What's the deal with Docker? - eviltoast

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!

  • uzay@infosec.pub
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    9
    ·
    edit-2
    8 months ago

    To put it in simpler terms, I’d say that containers virtualise only the operating system rather than the whole underlying machine.

    I guess not then.

    • pztrn@bin.pztrn.name
      link
      fedilink
      English
      arrow-up
      9
      ·
      8 months ago

      It virtualises only parts of operating system (namely processes and network namespaces with ability to passthru devices and mount points). It is still using host kernel, for example.

      • loudwhisper@infosec.pub
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 months ago

        I wouldn’t say that namespaces are virtualization either. Container don’t virtualize anything, namespaces are all inherited from the root namespaces and therefore completely visible from the host (with the right privileges). It’s just a completely different technology.

        • steakmeoutt@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          1
          ·
          8 months ago

          The word you’re all looking for is sandboxing. That’s what containers are - sandboxes. And while they a different approach to VMs they do rely on some similar principals.

        • pztrn@bin.pztrn.name
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 months ago

          I never said that it is a virtualization. Yet for easy understanding I named created namespaces “virtualized”. Here I mean “virtualized” = “isolated”. Systemd able to do that with every process btw.

          Also, some “smart individuals” called comtainerization as type 3 hypervisors, that makes me laugh so hard :)

    • Atemu@lemmy.ml
      link
      fedilink
      English
      arrow-up
      5
      ·
      8 months ago

      The operating system is explicitly not virtualised with containers.

      What you’ve described is closer to paravirtualisation where it’s still a separate operating system in the guest but the hardware doesn’t pretend to be physical anymore and is explicitly a software interface.

    • 𝒍𝒆𝒎𝒂𝒏𝒏@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      8 months ago

      Not exactly IMO, as containers themselves can simultaneously access devices and filesystems from the host system natively (such as VAAPI devices used for hardware encoding & decoding) or even the docker socket to control the host system’s Docker daemon.

      They also can launch directly into a program you specify, bypassing any kind of init system requirement.

      OC’s suggestion of a chroot jail is the closest explanation I can think of too, if things were to be simplified