• ruffsl@programming.dev
    link
    fedilink
    English
    arrow-up
    26
    arrow-down
    1
    ·
    edit-2
    2 years ago

    Image Transcription: Meme


    A photo of an opened semi-trailer unloading a cargo van, with the cargo van rear door open revealing an even smaller blue smart car inside, with each vehicle captioned as “macOS”, “Linux VM” and “Docker” respectively in decreasing font size. Onlookers in the foreground of the photo gawk as a worker opens each vehicle door, revealing a scene like that of russian dolls.


    I’m a human volunteer content transcriber and you could be too!

    • ruffsl@programming.dev
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 years ago

      Just need to put a JIT compiled language logo inside the blue car and caption it as “Containerise once, ship anywhere”.

      • jk47@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 years ago

        Is that still true? I use Linux but my coworker said docker runs natively now on the M1s but maybe he was making it up

        • Ryan@programming.dev
          link
          fedilink
          English
          arrow-up
          4
          ·
          2 years ago

          I suspect they meant it runs natively in that it’s an aarch64 binary. It’s still running a VM under the hood because docker is really just a nice frontend to a bunch of Linux kernel features.

        • Shareni@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 years ago

          Docker requires the Linux kernel to work.

          M1 is just worse arm. Since most people use x86_64 instead of arm, docker had to emulate that architecture and therefore had performance issues. Now you’ve got arm specific images that don’t require that hardware emulation layer, and so work a lot better.

          Since that didn’t solve the Linux kernel requirement, it’s still running a VM to provide it.

        • aport@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 years ago

          Not making it up, but possibly confused. OCI containers are built on Linux-only technologies.

      • haruki@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 years ago

        Try limiting it down to 2GB (there is an option in the Docker Desktop app). Before I discovered this option, the VM was normally eating 3-4GB of my memory.

  • 𝐘Ⓞz҉@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    2 years ago

    Can someone please explain me like i am 5 what is docker and containers ? How it works? Can i run anything on it ? Is it like virtualbox ?

    • SantaClaus@aussie.zone
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      2 years ago

      Think of a container like a self contained box that can be configured to contain everything a program may need to run.

      You can give the box to someone else, and they can use it on their computer without any issues.

      So I could build a container that contains my program that hosts cat pictures and give it to you. As long as you have docker installed you can run a command “docker run container X” and it’ll run.

    • Lmaydev@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      A container is a binary blob that contains everything your application needs to run. All files, dependencies, other applications etc.

      Unlike a VM which abstracts the whole OS a container abstracts only your app.

      It uses path manipulation and namespaces to isolate your application so it can’t access anything outside of itself.

      So essentially you have one copy of an OS rather than running multiple OS’s.

      It uses way less resources than a VM.

      As everything is contained in the image if it works on your machine it should work the same on any. Obviously networking and things like that can break it.

  • Ucinorn@aussie.zone
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 years ago

    Not just OSX: anyone using WSL on windows is an offender too

    But as a WSL user, dockerised Dev environments are pretty incredible to have running on a windows machine.

    Does it required 64 gig of ram to run all my projects? Yes. Was it worth it? Also yes

    • qwop@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 years ago

      My experience using docker on windows has been pretty awful, it would randomly become completely unresponsive, sometimes taking 100% CPU in the process. Couldn’t stop it without restarting my computer. Tried reinstalling and various things, still no help. Only found a GitHub issue with hundreds of comments but no working workarounds/solutions.

      When it does work it still manages to feel… fragile, although maybe that’s just because of my experience with it breaking.

      • desmaraisp@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 years ago

        You can cap the amount of cpu/memory docker is allowed to use. That helps a lot for those issues in my experience, although it still takes somewhat beefy machines to run docker in wsl

  • YellowTraveller@lemm.ee
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 years ago

    When I was in school I once used a IOS emulator running inside a docker container of MacOS running on a linux machine. It works surprisingly smoothly.