Announcement

Collapse
No announcement yet.

any experiences with docker?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • any experiences with docker?

    Any experiences with Docker?
    Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.


    While looking around for an OS for a home server, I learned about it... And I never heard of it before...

    It almost seems like the holy grail of virtualization: applications run in a minimal environment, separated from each other and from the host OS. There are a huge amount of Docker images available and you can apparently make your own.

    For sure it seems like it would make the host OS more stable, as all Docker containers are shielded...

    Any thoughts?
    pixar
    Dream as if you'll live forever. Live as if you'll die tomorrow. (James Dean)

  • #2
    I don't have direct experience as I'm kind of old school myself but couple of nix admins I talked to about it really liked it.

    IMO it's great if you want to host website or have some other nix service such as DNS, mail or fileserver but if you want some media server where you might want to pipe video capture card in virtual machine then docker won't do it.

    Comment


    • #3
      It would be a headless media server... For all aspects I need, I have found that there are Docker containers: Logitech Media Server (music), TVHeadEnd and Serviio. I'm still reading on it, but apparently even accessing video card for acceleration of transcoding etc. ought to be possible. TVHeadEnd has access to tunercards in the host, but more common now is IP-based TV tuners, in which case the tuner is even more easily accessible.
      I'm more thinking along the lines of minimizing the host os for stability reasons, in which case the host would be the file server (handling the filesystems and sharing them) whereas the containers could be for additional presentation of the data or additional services (e.g. music server, video server, cloud, ...) that use the functionality of the file server. I cannot test it as my computer here is too old, but it seems like an alternative to consider.
      pixar
      Dream as if you'll live forever. Live as if you'll die tomorrow. (James Dean)

      Comment


      • #4
        You have two options:
        use hypervisor (such as free VMware ESXi): in this case you would have 1 array for VMs and 2-6 drives for data. You would virtualize some sort of NAS and give it direct access to drives. If server motherboard fails you can put drives and vm on another machine. Then you would put VMs for video and other stuff.
        pros: all in one box, extremely stable hypervisor
        cons: might be be large
        use host os for file services. In this case you would use something like CentOS for host and filservices and run other stuff either in KVM or docker. You can also run windows hyper-v and run VMs in Hyper-v. Hyper-v hypervisor is also free.
        pros: non virtualized fileservices are easier to recover
        cons: a bit less stable as you're using generall purpose os with other services for hypervisor

        Comment


        • #5
          Virtualizing a NAS is possible but usually not recommended.
          Also, you would have to be sure every VM is updated and care more about maintaining each of them and keeping them updated.

          From what I understand, the benefit of docker is that you don't have the full OS in the container. Unlike with a VM, the docker is not an additional (virtual) computer in the network but it communicates through the host, which forwards just the necessary ports (and pci devices) and accesses fileshares. So apart from the application and the necessary libraries for it, the container itself does not have much.
          pixar
          Dream as if you'll live forever. Live as if you'll die tomorrow. (James Dean)

          Comment


          • #6
            Docker containers are quasi-virtualization. It's not a true virtual machine (VM). It allows applications to think it's the only thing running on the host, but it's not, just isolated from the rest of the system.

            A true VM has a separate kernel and set of virtual hardware. A container shares the kernel with the host. It maintains isolation through a separate virtual file system and a few other tricks.

            For example, to troubleshoot a network problem on a container you take a packet capture on the host because the containers share the network stack with the host, too. As well as the firewall and most other hardware. Get a dump of the containers hardware and you'll see mirror of most of the hosts hardware.

            Windows has Hyper-V isolated containers. Which is a container inside a highly optimized (as is very small footprint based on Nano server), secure VM. This creates a more complete separate from the host. Microsoft (whom I work for) is now using Hyper-V isolation to allow Linux containers to run on Windows.

            Learn about different ways you can use Hyper-V to run Linux containers on Windows 10 as if they're native.


            Not sure if there is a Linux analog to hypervisor isolated containers.
            “Inside every sane person there’s a madman struggling to get out”
            –The Light Fantastic, Terry Pratchett

            Comment


            • #7
              But you have Docker images that contain e.g. Ubuntu... So how does that work? Isn't that closer to those hypervisor isolated containers?
              pixar
              Dream as if you'll live forever. Live as if you'll die tomorrow. (James Dean)

              Comment

              Working...
              X