Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
OS X Linux Apple

Apple Quietly Launches Container On GitHub To Bring Linux Development To macOS (nerds.xyz) 59

BrianFagioli shares a report from NERDS.xyz: Apple has released a new developer tool on GitHub called Container, offering a fresh approach to running Linux containers directly on macOS. Unlike Docker or Podman, this tool is designed to feel at home in the Apple ecosystem and hooks into frameworks already built into the operating system. Container runs standard OCI images, but it doesn't use a single shared Linux VM. Instead, it creates a small Linux virtual machine for every container you spin up. That sounds heavy at first, but the VMs are lightweight and boot quickly. Each one is isolated, which Apple claims improves both security and privacy. Developers can run containerized workloads locally with native macOS support and without needing to install third-party container platforms.

Apple Quietly Launches Container On GitHub To Bring Linux Development To macOS

Comments Filter:
  • Oh Apple (Score:4, Insightful)

    by computer_tot ( 5285731 ) on Wednesday June 11, 2025 @07:36PM (#65443629)
    Only Apple would create multiple virtual machines and call then Containers. I just know in a few months I've going to hear some Apple fanboi brag that they don't use virtual machines anymore, they use Containers because containers are lightweight and efficient. And the reality distortion field grows stronger.
    • Re:Oh Apple (Score:5, Interesting)

      by Gleenie ( 412916 ) <{simon.green} {at} {posteo.com}> on Wednesday June 11, 2025 @09:23PM (#65443779)

      Containers because containers are lightweight and efficient.

      You laugh, but here I have a business critical service which is currently running on Solaris on SPARC. It's 16 years old, to give you some perspective on the architecture: tightly coupled C/C++ processes using shared memory IPC and Oracle RDBMS as backing storage, with app-layer caching.

      Across all environments, the legacy system consists of 8 servers and 168 CPU cores. It could do with a bit more metal, but it's coping OK.

      The Linux x86 containerised solution about to replace it comprises 55 servers, 3,500 CPU cores - and the vendor reckons it will need another 30% more hardware on top of that to cater to some requirements they did not fully appreciate during the RFP process.

      Containerisation, folks.

      • The problem there isn't the technology, it's the same old idiots in management that listen to consultants peddling the latest shiny. Containers have their uses, and so do bare metal solutions.
        • The problem there isn't the technology, it's the same old idiots in management that listen to consultants peddling the latest shiny. Containers have their uses, and so do bare metal solutions.

          Reading between the other poster's lines, the path from 168 CPUs to 3500 CPUs runs straight through "let's rewrite everything as microservices".

          I get you though, it's not containers ... but it is the containerization.

      • And your 8 SPARC servers probably cost more than the 55 x86 servers? There is a reason that Oracle licensing uses factors for those CPU's. Also, not every piece of software should be deployed as a container.
      • You laugh, but here I have a business critical service which is currently running on Solaris on SPARC.

        You're a brave person, to post those two words out of the gate. The Larry-hate is strong here and engenders idiocy in what might otherwise be rational people. They rag Redmond too but tolerate that crap because, you know, muh games. Meanwhile the devs still chasing Sun.

      • by Himmy32 ( 650060 )
        Also guessing that it's also not apples to apples on what the new environment and legacy environment are capable of.
      • by keltor ( 99721 ) *
        We had this legacy Solaris on SPARC service, 3 layer, sounds similar architecture but more servers, cores, fairly good amount of storage. Recently we had issues with Oracle pegging CPU cores and there's a 2 year late project to replace it with almost 200 servers (because growth and shit.)

        I replaced it with 2 containers (for the App itself) running on a 2 VM cluster mounting from our ceph cluster (standard enterprise service) and a containerized postgresql cluster (standard enterprise service). Two week ha
    • Re:Oh Apple (Score:5, Funny)

      by at_slashdot ( 674436 ) on Wednesday June 11, 2025 @09:34PM (#65443801)

      They could have called them Apple Crates.

    • Only Apple would create multiple virtual machines and call then Containers. I just know in a few months I've going to hear some Apple fanboi brag that they don't use virtual machines anymore, they use Containers because containers are lightweight and efficient. And the reality distortion field grows stronger.

      A container is just a disk image and a sandboxed process. When the image contains x86-64 ELF binaries expecting to make Linux syscalls, how are you going to run that on a different kernel, on an ARM processor. There are some very sophisticated ways of doing that, translating the instruction sets like Apple's Rosetta, emulating a foreign kernel interface like Microsoft's WSL1, and _they_ certainly could put all that together, for laughable definitions of "lightweight" and "efficient", but _you_ would use a v

    • Windows Containers originally used exclusively hypervisor based isolation, where independent lightweight virtual machines were used to isolate each container from one another, and from the host. It gets blurrier on Linux too, as before LXC namespaces were a thing, and when OpenVZ was still all the rage, folks who opted to use User Mode Linux instead would also refer to their isolated environments as being containers despite there being a different kernel instance for each process to talk to (of course these
  • And asked " what have you poor bastards been doing for 17 years ?"

    And " will this match the new windows vista glassy look?"
    • by drnb ( 2434720 ) on Wednesday June 11, 2025 @09:55PM (#65443837)

      And asked " what have you poor bastards been doing for 17 years ?"

      Apple Virtualization Framework has run Linux distros for many years. Console on Intel. GUI on Apple Silicon (ARM). These were mostly for testing. Launching a fresh copy of Linux each time.

      Apple has also been a popular Linux development platform far before that too. Most "Linux" software is really POSIX, not Linux specific. It builds and runs just fine on Macs. Many Linux devs switched to MacBook Pro for their development systems. Got things working in Apple's native Unix environment, then tested on Linux once things seemed working. Which is where Apple Virtualization comes in. Not only does most "Linux" code build fine on Mac, many of the popular FOSS apps also provide pre-built binaries for macOS.

      Apple also contributed source code to BSD projects its uses. Which Linux is free to pilfer from.

      And " will this match the new windows vista glassy look?"

      Windows Vista (2006) copied Apple Aqua (2000).

      • So I get the impression the container thing is neither a hypervisor nor some kind of management interface like... virtmanager or virtualbox? Or... I think someone below said it's close to windows subsystem for linux?
        I see you can get vmware and virtualbox for apple ... so you should be able to run whatever you want in a virtual machine, no?
        Apple seems late to the virtualization party.

        Yeah, but the glassy look that windows ripped off from apple, it's kind of sad to see, apple re releasing their own copied de
        • by drnb ( 2434720 )

          So I get the impression the container thing is neither a hypervisor nor some kind of management interface like... virtmanager or virtualbox? Or... I think someone below said it's close to windows subsystem for linux?

          Apple Virtualization Framework, introduced into macOS in 2020. It allows code to create and run low overhead macOS and Linux VMs.

          "Virtualization"
          https://developer.apple.com/do... [apple.com]

          "Running Linux in a Virtual Machine"
          https://developer.apple.com/do... [apple.com]

        • No, Apple is not late.

          You are late in comprehension ...

    • Yeah, shocker - we've been using Docker (now Docker Desktop, although I believe there's a free version that doesn't have the GUI).

      Honestly, Linux development on Mac isn't hard - install Docker, spin up a Linux container and you're good. If anything, the different CPU architecture is the biggest pain in the backside because you need two sets of containers and two sets of binaries (if you're compiling).

      • Yeah, shocker - we've been using Docker (now Docker Desktop, although I believe there's a free version that doesn't have the GUI).

        Honestly, Linux development on Mac isn't hard - install Docker, spin up a Linux container and you're good. If anything, the different CPU architecture is the biggest pain in the backside because you need two sets of containers and two sets of binaries (if you're compiling).

        But you see: Docker is controlled by Microsoft.

        Now it makes sense, eh?

        • Is it? 10 seconds on Google and the AI says it isn't, but I can't immediately see anything that confirms either way after that.

          • Is it? 10 seconds on Google and the AI says it isn't, but I can't immediately see anything that confirms either way after that.

            Duh!

            Senior moment!

            I was thinking of Visual Studio Code!

            Sorry.

  • Even 16GB RAM is going to be miserable.
    • Base RAM configurations are pretty much for Email, Browser and Productivity Apps users. PC or Mac.

      "Power Users" know to upgrade RAM. It's the best thing you can do to improve performance and longevity of the hardware. PC or Mac.
      • Pay double the regular price to run a VM. What for?
        • by drnb ( 2434720 )

          Pay double the regular price to run a VM. What for?

          Well it's not double. And while it does let one system cover three platforms (macOS, Linux and Windows), and provide more RAM for any more technical RAM hungry applications you might run. It also adds years to the useful life of a machine, postponing the need for a replacement.

          • RAM cost $/GB is more than double. Obviously you think it's not pathetic enough. So you added Windows, on ARM MAC! It is certainly not for home use, not for business either. You are just asking for trouble :) BTW, if anybody can successfully run Yocto on MAC Linux I would appreciate to know. I don't have the stomach to try.
            • by drnb ( 2434720 )

              RAM cost $/GB is more than double.

              So you are saying 2x the RAM costs 2x the $, that the first x and the second x cost the same?

              Obviously you think it's not pathetic enough.

              No I was thinking total cost of the laptop, since we are talking about the performance of the laptop and the lifespan of the laptop.

              So you added Windows, on ARM MAC! It is certainly not for home use, not for business either.

              It's probably one of the better Windows ARM systems out there on an M4 CPU. So there are no software developers in home offices, or in business offices?

              You are just asking for trouble :)

              In the early adopter sense, absolutely yes. But that's the price of software development. :-)

    • 16 has been miserable for any power user for some time now. I’ve got 48gb RAM plus the dedicated GPU RAM. That isn’t anything special these days. 16 will do you fine for kiddie games and running multiple tabs on a web browser. But I had 16 gigs and a 2 gig video card back in 2010.
      • I have 8GB on my Macs and 8GB on this Acer.
        A few hundred tabs are no problem.

        I guess you have a xxx movie in each of your tabs running?

    • by GrahamJ ( 241784 )

      16GB is the base RAM for all new Macs.

    • Even 16GB RAM is going to be miserable.

      All 2024 and newer Macs start with 16 GB, minimum.

      And nearly anyone intending to do more than email, browsing, and "Office" Apps went for 16 GB, minimum, anyway.

  • by amp001 ( 948513 ) on Wednesday June 11, 2025 @09:17PM (#65443769)
    When launching a container, they boot a Linux VM that just has a single, statically-linked executable inside: vminitd. No systemd or other daemons. No libc or even ld.so, just vminitd.

    That process is responsible for talking to things outside the VM, and for launching the container, etc. When the container process exits, vminitd exits and shuts down the VM. Starting the VM takes ~100ms, and the amount of memory and CPU cores it gets are taken directly from the container configuration. So, it's not terrible in terms of memory usage. It's sort of ideal for short-lived containers, since it starts up so fast and only uses as much memory as the container ends up actually allocating (not what it asked for). I'm not sure how they manage to boot Linux in a VM that fast, honestly. Maybe they have a pickled pre-booted image ready to be mapped into memory so they can tell Linux it's just woken up from being suspended? I have read some of the documentation, but I haven't dug into the code yet.

    Meanwhile, it uses Rosetta2 to execute x86 code, so you can both build and run multi-platform containers.

    I don't know that I'll actually use it myself, since Rancher Desktop is pretty slick, and I need Kubernetes. But, maybe someone will get k3s working on this and I can get away from having to run a big VM all the time. In any case, it's nice to see Apple recognizing how many people use their machines to build Linux containers, and it's nice to see them making it open source while they're at it. It isn't perfect, but it's at least somewhat clever.
    • by drnb ( 2434720 ) on Wednesday June 11, 2025 @10:09PM (#65443857)

      I'm not sure how they manage to boot Linux in a VM that fast, honestly..

      See Apple Virtualization framework. It's part of macOS. Under Intel Macs it quickly starts up fresh console base Linux VMs. Under Apple Silicon (ARM) Macs, GUI based Linux VMs.

      "The Virtualization framework provides high-level APIs for creating and managing virtual machines (VM) on Apple silicon and Intel-based Mac computers. Use this framework to boot and run macOS or Linux-based operating systems in custom environments that you define. The framework supports the Virtual I/O Device (VIRTIO) specification, which defines standard interfaces for many device types, including network, socket, serial port, storage, entropy, and memory-balloon devices."
      https://developer.apple.com/do... [apple.com]

      "Configure the Sample Code Project
      Before you run the sample program:
      Download a Linux kernel image.
      Download an initial RAM disk image to load into memory.
      You may obtain a kernel image and the corresponding initial RAM disk image for a given release of the Fedora Linux distribution from https://download.fedoraproject... [fedoraproject.org]/Everything//os/images/pxeboot, where is the Fedora release number and is x86_64 for Intel Macs and aarch64 for Apple silicon Macs.
      To launch the virtual machine, run the sample’s executable from Xcode or in Terminal. You’ll need to specify the path to the kernel image and initial RAM disk image as parameters. The parameters are position-dependent, so use the following the order:
      % LinuxVirtualMachine [pathToKernelImage] [pathToRAMDiskImage]"
      https://developer.apple.com/do... [apple.com]

    • When launching a container, they boot a Linux VM that just has a single, statically-linked executable inside: vminitd. No systemd or other daemons. No libc or even ld.so, just vminitd.

      That process is responsible for talking to things outside the VM, and for launching the container, etc. When the container process exits, vminitd exits and shuts down the VM. Starting the VM takes ~100ms, and the amount of memory and CPU cores it gets are taken directly from the container configuration. So, it's not terrible in terms of memory usage. It's sort of ideal for short-lived containers, since it starts up so fast and only uses as much memory as the container ends up actually allocating (not what it asked for). I'm not sure how they manage to boot Linux in a VM that fast, honestly. Maybe they have a pickled pre-booted image ready to be mapped into memory so they can tell Linux it's just woken up from being suspended? I have read some of the documentation, but I haven't dug into the code yet.

      Meanwhile, it uses Rosetta2 to execute x86 code, so you can both build and run multi-platform containers.

      I don't know that I'll actually use it myself, since Rancher Desktop is pretty slick, and I need Kubernetes. But, maybe someone will get k3s working on this and I can get away from having to run a big VM all the time. In any case, it's nice to see Apple recognizing how many people use their machines to build Linux containers, and it's nice to see them making it open source while they're at it. It isn't perfect, but it's at least somewhat clever.

      I also think this is how they are going to "sandbox" x86 macOS Apps. Kind of akin to the way Classic MacOS (OS 9) worked in the early days of OS X.

      The good news is that this means long-term support for the Most-Excellent Rosetta 2. . .

  • Windows Subsystem for Linux lets you do pretty much the same stuff. Lighter than a VM, some degree of isolation, uses the OS. I've personally just tinkered with it a bit, but other developers who do Linux all the time, love it, because it gives them a lot more flexibility than running true VMs.

    • Windows Subsystem for Linux lets you do pretty much the same stuff. Lighter than a VM, some degree of isolation, uses the OS. I've personally just tinkered with it a bit, but other developers who do Linux all the time, love it, because it gives them a lot more flexibility than running true VMs.

      Sounds suspiciously like something using the Apple Virtualization framework, which has been around since 2020. Basically you can have code create and launch a Linux VM for you.

    • Interesting, because I find it a mess.
      It reconfigured something hyper visor related, and my Virtual Boxes lost about 25% of their speed, and the GUI is close to unusable.
      For my stuff I use Multipass.

      • Hypervisor and VirtualBox are full VMs. WSL is a thinner layer with less overhead.

        • by Himmy32 ( 650060 )
          WSL1 provides API translation, WSL2 uses Hyper-V to make a VM and then hooks up being the Windows and Linux userspaces.
    • WSL, at least WSL2, uses full virtualization - that is, it's a full VM. It's kind of crummy because it looks lightweight when you're setting it up - no tell-tell windows with kernel boot messages and mode changes that'd clue you in on what's happening - but it's actually no lighter than VirtualBox. Well, it doesn't have the legal overheads of VirtualBox ;-) (I think you may be right about WSL 1 but it's barely used and was badly implemented at the time - it couldn't run systemd for instance, and I know you'

Our country has plenty of good five-cent cigars, but the trouble is they charge fifteen cents for them.

Working...