• Hexarei@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Yeah I use it through proxmox but it doesn’t make much difference to me. It’s practically a lower-overhead VM as far as I’m concerned

    • sbstp@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I used to use LXC maybe 5 years ago but I’ve since replaced everything with docker/compose. The main difference between LXC and Docker is that LXC is meant to be more like a Virtual Machine than a container. LXC containers run their own instance of systemd and can run multiple processes easily. Docker is meant to run a single process although people sometimes do hacks with supervisord or s6 overlay to run multiple processes.

      At the time LXC didn’t really have a concept of images like Docker, it was just base images like Ubuntu 18.04 or Debian 9 and you’d shell in the container and install your stuff.

      LXD is a tool built on top of LXC, confusingly enough the LXD client is called lxc… It’s higher level and might have the ability to use images, not sure, I never felt the need to learn it.

      • 9488fcea02a9@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        I’ve always used lxc and only recently tried docker.

        I really cant wrap my head around all the crazy shit docker alters on your network settings like rewriting a bunch of firewall rules without telling you

        Not sure if i was doing something wrong but that was my experience with docker

        • InvertedParallax@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          Docker is spaghetti-ware, they try to control everything, which ironically makes me Isolate my dockers in a vm.

          • 9488fcea02a9@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            4
            ·
            1 year ago

            Ok, i’m glad my solution to the problem (run docker in an lxc container) isn’t as harebrained as i thought

            Other people are doing the same

          • jecxjo@midwest.social
            link
            fedilink
            English
            arrow-up
            0
            ·
            1 year ago

            That is kind of the expected setup. Either a vm or a dedicated system. You let docker do its thing and it should work.

            I run lxc because i want contained systems I control. That just means I have to do the work too.

            • InvertedParallax@lemm.ee
              link
              fedilink
              English
              arrow-up
              0
              ·
              1 year ago

              Same, I love lxc like I love jails, you craft beautiful systems that are isolated and clean.

              I wouldn’t make a disposable jail, but I make disposable lxcs, lxcs are like temporary distros for me.

              • jecxjo@midwest.social
                link
                fedilink
                English
                arrow-up
                0
                ·
                1 year ago

                There are scripts for making a jail around single apps but yeah I typically don’t use them that way. Lxc I very often install an app I want to test out and toss once I want to dedicate compile time to it.

                • InvertedParallax@lemm.ee
                  link
                  fedilink
                  English
                  arrow-up
                  0
                  ·
                  1 year ago

                  Yeah, I’d want a jail dockerfile system too, I just usually do them manually. Still, a way to run dockerfiles to build jails would be epic if you could make it work.

                  I used gentoo for a decade, I just can’t afford the downtime if my workstation goes down, so it’s debian with lxc workspaces for a while, but gentoo actually runs well under lxc.

                  Mostly every app expects its own distro, either debian or centos, few actually are agnostic, so getting them to run on gentoo was always more of a challenge than on raw debian/Ubuntu.

                  • jecxjo@midwest.social
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    1 year ago

                    I’m actually the opposite. Run gentoo as my host and toss up a debian lxc if needed. Worst case scenario im running just the kernel and everything else from a container (actually how i typically run when rebuilding a system from start).

                    I’ve never run into a situation where an app “couldn’t” run in Gentoo. It’s just that I’ve had cases where an app is build for a 8 year old LTS of debian with such old dependencies it wouldn’t be worth my time building them all when i can just pull up a container with that super old build. The nice thing is that all the vulnerabilities that old Debian had is now in a container and less of a target.

                    I swear i must be lucky cuz i do often hear of gentpo fatigue but I’ve been running it since the project started and never had issues outside the things they legitimately broke.

    • atzanteol@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      I love it. It’s like a cross between virtual box and docker. You get a container that spins up fast but behaves more like a vm. You can install services, you get an ip address, etc.

        • jecxjo@midwest.social
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          There are a few differences because lxc runs along side the reast of host system rather than the daemonized container service that Docker does.

          From the host you can access kernel related controls within the target system. You can see the processes running, perform tuning on them, etc while also having the same kernel level control inside the target. This also means you can have better control over security bu setting group policies, apparmor profiles and system aware firewall rules because you aren’t running your target in a black box.

          Their purposes are very different. If you are running a single process for a single purpose you use Docker. When you want yo run a system for a specific service you run lxc. Can you do the opposite within each type? Yep. But that’s not what they are designed for. Can you run a full blown email service with imap and pop, a web server for a webmail client and antivirus services inside a docker container…of course. But all the tuning and configuration is done at the container level which means that we assume all installs and replication must be the same. In lxc i can install the same system but if we want to tweak max memory usage or niceness of a given service you can do that globally or target a specific container while on docker youd have to go to each container to do that work.