[HN Gopher] Docker for Mac M1 RC
       ___________________________________________________________________
        
       Docker for Mac M1 RC
        
       Author : mikkelam
       Score  : 402 points
       Date   : 2021-03-19 09:06 UTC (13 hours ago)
        
 (HTM) web link (docs.docker.com)
 (TXT) w3m dump (docs.docker.com)
        
       | nicoburns wrote:
       | > Some container disk I/O is much slower than expected. See
       | docker/for-mac#5389. Disk flushes are particularly slow due to
       | the need to guarantee data is written to stable storage on the
       | host.
       | 
       | Huh. This could be problematic given that Docker disk performance
       | on macOS was already dreadful on intel machines. I would love to
       | see Apple give this some attention.
        
         | pella wrote:
         | Ouch ... ~10x slower ????
         | 
         | https://github.com/docker/for-mac/issues/5389
         | 
         | from a github comment: _" Such a surprise every time I import a
         | database to see it run about 10x slower than amd64."_
        
           | londons_explore wrote:
           | Since a lot of use of docker on a desktop machine has no
           | requirement for data resiliency (web dev work where all
           | containers can easily be wiped and rebuilt), it would be good
           | to have a flag for "no flush" which just ignores all flush
           | requests.
        
             | hashkb wrote:
             | You still want e.g. incremental rebuilds and file watching
             | for tests and all that. It's really sad to hear this hasn't
             | been addressed in years. Development with Compose on Linux
             | is such a pleasure.
        
               | londons_explore wrote:
               | You can still have all that - flushing behaviour only
               | affects things if the host machine suddenly kernel panics
               | or loses power. For a laptop with battery backup that's
               | probably a once a year occasion. In that case, I'd be
               | happy to wait a few minutes for some docker stuff to be
               | rebuilt.
        
         | tommoor wrote:
         | Yea, I think this is the same issue:
         | https://news.ycombinator.com/item?id=26332732
         | 
         | Still an issue in the latest RC today
        
       | deergomoo wrote:
       | Can this version run the official MySQL images under QEMU? I had
       | everything working on the last preview version except for MySQL;
       | they would immediately crash with a Go error.
        
       | Thomaschaaf wrote:
       | I don't understand why Docker Desktop e.g. Docker for Mac and
       | Docker for Windows is available for free. I think it's a value
       | added service and is executed beautifully and would be a fair way
       | for the company to generate revenue.
        
         | dustinmoris wrote:
         | Because if you can't do `docker build` locally when learning or
         | building software or studying IT then you will look for
         | alternatives which allow you to achieve the final goal in a
         | similar or "just good enough" way and then you will never start
         | using Docker, not even in production.
         | 
         | For many developers Docker alone has a huge cost of entry in
         | terms of learning. If you also ask them to pay for something
         | which many dread to learn then even less people will adopt a
         | technology which is actually one of the best innovations in
         | software delivery from the last decade.
        
           | Thomaschaaf wrote:
           | A lot of products e.g. CAD Software are available for free
           | for personal/educational use or for a limited time.
           | Alternatively I like the approach JetBrains (IntelliJ) are
           | taking by providing the software for free or a reduced price:
           | https://www.jetbrains.com/de-
           | de/idea/buy/#discounts?billing=...
        
             | cies wrote:
             | That not generally how developer infrastructure tools work
             | these days.
        
         | jpgvm wrote:
         | Without it being free it would likely be replaced by a free
         | alternative that would further limit Docker Inc from directly
         | influencing their users now the core Docker daemon has been
         | thoroughly commoditized.
        
           | pjmlp wrote:
           | There is no reason for Docker when all OS just have native
           | containers support.
           | 
           | In the end it is just a bunch of APIs to abstract OS APIs,
           | which end up being the minimum common denominator, as each OS
           | offers different container capabilities.
        
             | danieldk wrote:
             | _There is no reason for Docker when all OS just have native
             | containers support._
             | 
             | Indeed. On Fedora Docker has already been replaced by
             | rootless Podman containers, which are great for
             | development. I wouldn't be surprised if Podman will take
             | over on Linux workstations pretty quickly.
        
         | okamiueru wrote:
         | Docker/Containerisation is open source software with a free to
         | use license? If this was restricted on Mac and Windows it would
         | just add another reason to avoid these for infrastructure use.
         | Avoiding OSX for this is already a no-brainer, given the lack
         | of cloud availability and otherwise pricing, but at least if
         | you're stuck with that, you can learn the tools for free. More
         | or less the same for Windows, although there you at least have
         | some cloud offerings.
        
         | Eric_WVGG wrote:
         | Subjectively speaking, I would happily pay thirty bucks for a
         | native alternative to Docker Desktop. I find the UI gross and
         | disruptive.
        
         | adamors wrote:
         | Considering how badly Docker runs on Mac, I don't think anybody
         | would pay for it. I had to set up a Linux machine I ssh into
         | locally just to be able to work.
        
           | f6v wrote:
           | My experience was generally different. Yes, it gets hot and
           | loud on Intel. But I can still do web development that
           | involves PG, Rails/Django, and Redis.
        
             | adamors wrote:
             | With 2-3 containers there isn't an issue. When you need to
             | run 8-10 at once, the machine becomes unusable. Same setup
             | on Linux doesn't even register as load.
        
               | okamiueru wrote:
               | There must be something wrong with the OSX implementation
               | then? Container images should be static and won't be
               | duplicated across multiple instances. Maybe I'm wrong
               | about how it should work. My impression was that if I had
               | a 1 GiB image, I could spin up 50 of these, and still use
               | roughly 1 GiB of memory (assuming running process es
               | don't need to allocate much themselves).
               | 
               | Edit: From testing by spinning up 10 MySQL servers, sure
               | looks to be the case. Each runtime allocated approx 215
               | MiB of memory, which is what the available system memory
               | was reduced by for each. The container image itself was
               | approx 400 MiB.
        
         | [deleted]
        
       | dustinmoris wrote:
       | That's great news. I've been using the Preview with M1 support
       | for a while now and have had no issues so far.
        
         | darkteflon wrote:
         | I ran into [this](https://github.com/docker/for-
         | mac/issues/5208) bug just today - mentioned in the release
         | notes.
         | 
         | If you're using a VPN (in my case, the NextDNS client), you
         | might want to de-select the option to start Docker on boot.
         | Start it manually instead once your VPN client is loaded and
         | connected. In my case a failure to do this would completely
         | bork the ability to connect to the internet - either over
         | ethernet or WiFi. Took me a while to figure out what the cause
         | was.
        
       | Accacin wrote:
       | How do people use Docker on Mac? It's so slow for me I've started
       | to use my X220 (Linux) as it's faster than my 2018 MBP.
       | 
       | We use containers inc. a MySQL container and accessing it is
       | incredibly slow, with a request taking 5-10seconds that's instant
       | on the production server.
       | 
       | I've heard that Docker Sync can improve this, is it worth a try?
        
         | [deleted]
        
         | lowercased wrote:
         | I use docker on a mac, and... while I do feel it 'slow' in some
         | sense, I've never seen 5-10 second access time to a mysql
         | container. MBP 2019 here, but never saw that on MBP 2015
         | either. Is there some other mysql config that's trying to do
         | some network lookup on the incoming connection? I vaguely
         | recall that being an issue with mysql on bare metal servers
         | years ago - if there was some specific network name as part of
         | access control, the mysql would try to resolve the hostname,
         | and that would sometimes be very slow, depending on external
         | factors. (--skip-name-resolve and reverse DNS seemed to be
         | things I'd found along the way, but I'm doing this from memory
         | and it was 10+ years ago - haven't hit that issue in... a long
         | time).
        
       | Zealotux wrote:
       | Curious on how Docker runs on M1, it's well known for being an
       | horrendously slow piece of software on Apple computers, draining
       | battery life like crazy. Any feedback on M1 Docker so far?
        
         | ericpauley wrote:
         | It's phenomenal. I use an M1 Air to develop a webapp with Rails
         | + multiple independent large Webpack builds (Make sure your
         | `node_modules` and other speed-sensitive folders are all in
         | named volumes not bind mounts). It is insanely fast compared to
         | my 2017 15", and battery can last all day even when using
         | Docker, something unheard of on my last laptop.
        
         | katsura wrote:
         | Some rare crashes here and there (before the RC, I haven't used
         | the RC too much yet), some images don't work, some node
         | packages require extra packages where the same image on linux
         | worked without them. But after the initial hurdles of setting
         | it up, it actually works pretty great for my use-case. I'm
         | using it for 5 different projects 2-4 containers each. If you
         | develop React and Typescript with VS Code remote though, you
         | should definitely up the memory limits, because the initial 2
         | Gb was hit all the time (every 10-30 minutes), which made
         | Docker crash on me every time. Once I set this higher, my
         | experience improved tremendously. I only have to charge it once
         | a day with 10-12 hours average daily use.
        
         | cies wrote:
         | Needing to use Docker is a great reason Linux on the developer
         | laptop makes total sense.
         | 
         | > horrendously slow piece of software on Apple computers,
         | draining battery life like crazy
         | 
         | Exactly.
         | 
         | Thankfully there is Docker on Mac: how would my colleagues with
         | shiny laptops get work done otherwise?
        
           | blunte wrote:
           | I have done and still do all my development on a Mac and
           | deploy to Linux.
           | 
           | I run 3-5 rails servers, redis, postgreql, mysql, jetbrains
           | ides, slack, meet, spotify, vscode, and probably two or three
           | other apps I forget now. I do all this on either my 2014 15"
           | MBP i7 or my 2019 13" MBP i5. The only thing I lack is drive
           | space.
           | 
           | I have reinstalled my 2014 OS never, and I have a truckload
           | of usb devices (mostly music production) attached.
           | 
           | You simply cannot match that with a Linux laptop. I love
           | Linux, but not for desktop use.
        
           | coldtea wrote:
           | > _Thankfully there is Docker on Mac: how would my colleagues
           | with shiny laptops get work done otherwise?_
           | 
           | This "shiny/for the clueless" Linux-edgelord meme must die.
           | Might as well write "MS" with a dollar sign in 2021.
           | 
           | Go to any programming conference and check the speakers. Over
           | 50% use an Apple laptop. Check major developers people
           | follow, from old Unix hands like Rob Pike, to every major JS
           | cat, to admins, all the way to the creator of Gnome, Gnumeric
           | and Mono, and their preferences, and you'll find they use a
           | Mac laptop with macOS.
           | 
           | (And hardware wise, even Linus Torvalds had an Apple G5 tower
           | as his main driver, and later an Intel Macbook Air he praised
           | as the best machine he had used (though he used Linux on
           | those).
           | 
           | In any case, there are benefits and tradeoffs, but "lol, Mac
           | is teh suck" is inane.
           | 
           | To correct you: no, Docker is not used because "you need to".
           | It's used (also on Linux) for reproducability, isolation, the
           | ability to write code with different dependencies with the
           | whole system at your disposal, and to not mix your driver
           | machine with your development environment.
           | 
           | It is the same use if you run Linux distro X and deployed on
           | another version of it, or on the same version with some
           | tweeks/different libs, or to whole other distro.
           | 
           | And no, it hasn't been a "horrendously slow piece of software
           | on Apple computers, draining battery life like crazy" for
           | ages, and when it was it wasn't because of some macOS
           | limitation, but because the company had done a half-arsed job
           | with the fs layer.
           | 
           | And as far as "needing to use Docker", macOS is not any
           | different than any Linux/FreeBSD distro on that front. If you
           | prefer a local, mix-everything-in, not discliplined approach,
           | unlike what Docker offers, you can install anything you like,
           | from Brew, MacPorts, Fink and so on. You can even have Nix
           | for reproducible builds under that scheme.
        
             | anthk wrote:
             | >Go to any programming conference and check the speakers.
             | Over 50% use an Apple laptop. Check
             | 
             | In the US. Not in Europe. The iPhone is barely testimonial
             | there, while in the US, the iPHone has a good market chunk,
             | and thus, more developers.
             | 
             | The old Unix hats mainly use Acme and MacOS as a dumb
             | client against a 9front cpu(4) with Drawterm or with
             | Plan9port.
             | 
             | The could use whatever it has a GUI to run drawterm on, as
             | they did with Windows 2000 back in the day.
             | 
             | Also, OSX still has HFS as case insensitive by default. On
             | modern Unix environments, OSX is useless. Period.
        
             | vetinari wrote:
             | > This "shiny/for the clueless" Linux-edgelord meme must
             | die. Might as well write "MS" with a dollar sign in 2021.
             | 
             | It works both ways; it will live as long, as "linux is
             | useless, because I had a problem with wifi in 2002".
        
               | jjmarinho wrote:
               | I mean, its 2021 and you still cannot fractionally scale
               | the resolution without slashing your battery life and
               | losing 30% of your processing power (and some random
               | stuttering on all applications).
               | 
               | Having a 15.6" 1080p screen basically means i need to
               | choose between using my glasses all day or using Windows.
        
               | vetinari wrote:
               | Use Wayland. Fractional scaling works fine there. If you
               | are using X11 and xrandr scaling, and see performance
               | impact, maybe that's the reason why it is not supported
               | in GUI.
               | 
               | On the other hand, I'm have no perfect eyesight, but in
               | Linux, 1080p at 14" is as usable as Windows 10 at 125%.
               | Here, the design choices made by Gnome are hitting its
               | strong points, it is perfect resolution for @1X scale.
        
               | anthk wrote:
               | Also, any modern DE could scale fonts up to 14pt and far
               | more.
               | 
               | And OFC choose whatever theme, icon and font you like in
               | order to match your resolutions.
               | 
               | Windows 10 is useless without scaling.
        
             | cies wrote:
             | > because the company had done a half-arsed job with the fs
             | layer
             | 
             | Exactly.
             | 
             | And I know Mac reigns in dev land. Just the moment Docker
             | comes around (and it does quite a bit lately) all those
             | shiny (and that's a compliment) pieces of hardware become
             | heated vacuum cleaners.
             | 
             | I'm not saying "lol, Mac is teh suck" (what you apparently
             | want to read). I'm saying: here's something that my Linux
             | laptop wins at. Docker.
             | 
             | You come across rather angry, even saying that Linus uses
             | Apple hardware without running the macOS... How does that
             | work as an argument against my experience?
        
               | coldtea wrote:
               | > _You come across rather angry_
               | 
               | Nah, just replying to the rather snarky? "Thankfully
               | there is Docker on Mac: how would my colleagues with
               | shiny laptops get work done otherwise?"
               | 
               | > _I 'm not saying "lol, Mac is teh suck" (what you
               | apparently want to read). I'm saying: here's something
               | that my Linux laptop wins at. Docker._
               | 
               | Well, sure. There are other things a Linux laptop wins
               | at. Tinkerability for example, part replacements, etc.
               | 
               | > _even saying that Linus uses Apple hardware without
               | running the macOS... How does that work as an argument
               | against my experience?_
               | 
               | It works as an argument that it's not something merely
               | "shiny", but a good piece of hardware for a par
               | excellence technical user.
        
               | cies wrote:
               | > Thankfully there is Docker on Mac: how would my
               | colleagues with shiny laptops get work done otherwise?
               | 
               | Nope. I replied to someone saying Docker on Mac is a
               | joke, and I agreed saying: one of the last points where
               | using Linux compared to Mac is advantageous.
               | 
               | Saying Macs are shiny is a compliment. You took it as
               | snarky, but it wasn't (before the new keyboards I
               | preferred --and owned-- Macs).
        
               | ogre_codes wrote:
               | > ... all those shiny (and that's a compliment) pieces of
               | hardware become heated vacuum cleaners.
               | 
               | > I'm not saying "lol, Mac is teh suck"
               | 
               | Biggest eye-roll post of the day. Literally one sentence
               | after the other you suggest Macs are worthless and that
               | you aren't saying they suck.
        
               | bronson wrote:
               | And the "You come across rather angry" was such a good
               | touch.
        
           | adamors wrote:
           | The problem with Linux on the Desktop is that it's still a
           | horrible, time-wasting experience.
           | 
           | I have to unplug/replug my mouse every time I boot into
           | Ubuntu because it's not recognised otherwise. Another wired
           | mouse I have is not recognised at all (was working just fine
           | during install).
           | 
           | As somebody who works 8+ hours a day, I don't have time for
           | this shit.
        
             | arvinsim wrote:
             | I installed Pop!_OS on my gaming PC. Didn't have to do any
             | fiddling at all.
             | 
             | I was so impressed by it that it has replaced my Mac laptop
             | as a development machine at home.
        
             | danieldk wrote:
             | I have a Ryzen 3700X desktop and have literally zero
             | hardware issues with NixOS and Fedora. The Intel NUC8i5 I
             | had before that also worked flawlessly.
             | 
             | I also purchased a ThinkPad T14 AMD. It works fine with
             | Linux and all the hardware works out of the box (including
             | the fingerprint reader, WiFi and webcam). Additional
             | benefit: upgraded it from 16GB to 32GB for under 100 Euro.
             | 
             | I used Macs from 2007 until 2020. But in my daily work, I
             | have experienced far more issues with macOS than with Linux
             | in recent years (I was a very happy Mac user from 2007 to
             | ~2015).
        
             | noir_lord wrote:
             | > The problem with Linux on the Desktop is that it's still
             | a horrible, time-wasting experience.
             | 
             | In your experience - that's not uniformly true - I'm a
             | counter example - I installed Fedora on this machine when I
             | built it a few years ago (and have upgraded to each
             | release) and have had zero hardware issues and that's
             | running an RTX2080 with the binary driver (historically a
             | pain point on Linux).
             | 
             | As someone who also uses a recent generation work issued
             | mac the different for me is stark.
        
               | adamors wrote:
               | I'm well aware my experience is not uniformly true.
               | 
               | My point is, that an inconsistent experience is not
               | something I have time to debug anymore. I ran Arch 10+
               | years ago when I had more time than sense, but those days
               | are long gone. I'd rather spend my non-work time AFK.
        
             | guggle wrote:
             | I'd argue that the experience is significantly worse on
             | laptops than desktops where it has been more or less fine.
        
             | tirrex wrote:
             | I hated linux desktops, it was unusable for me. I gave a
             | try again 3 years ago, since then, no issues, it's been
             | super smooth for me. I used 5-6 laptops along three years,
             | I'm still surprised it's that good. I use stock ubuntu.
             | Maybe I'm just lucky that I picked laptops/hardware which
             | work smoothly on linux/ubuntu
        
           | f6v wrote:
           | > Needing to use Docker is a great reason Linux on the
           | developer laptop makes total sense.
           | 
           | So do you always run the same server distribution with
           | exactly the same package versions on your laptop? Otherwise,
           | you miss the point of Docker.
        
             | hibbelig wrote:
             | They are saying that they need to run Docker precisely
             | because they need different package versions. Given that
             | Docker is required, Linux is attractive because then you
             | can run Docker without running a Linux VM.
        
             | ubercow13 wrote:
             | That's not the point. Docker is native to Linux, it is much
             | faster and simpler on Linux where it does not have to use
             | virtualisation.
        
               | coldtea wrote:
               | > _where it does not have to use virtualisation_
               | 
               | You'd be surprised.
        
               | ubercow13 wrote:
               | Go on..?
        
               | coldtea wrote:
               | > _where it does not have to use virtualisation_
               | 
               | Container isolation is still OS-level virtualization. It
               | just doesn't use a hypervisor.
        
               | pjmlp wrote:
               | It might use a hypervisor though, as the pendulum swings
               | back
               | 
               | https://katacontainers.io/
        
           | pjmlp wrote:
           | Windows has native containers, and I bet the Docker GUI will
           | eventually become a thing of the past.
           | 
           | No, I don't use WSL, and still get work done.
        
         | dustinmoris wrote:
         | As I said in a comment below, I've been using the preview
         | version with M1 support for a while now and I have it
         | constantly running in the background. I literally use Docker
         | all the time, mostly building images locally to test/debug
         | something or running things like Redis locally or nginx or
         | something else during development and I have not had any issues
         | so far.
         | 
         | And the M1 still amazes me every day. I code all day long,
         | watch youtube, listen music, do zoom and slack calls and so on
         | and don't charge my MBP even once during the day. I once forgot
         | to plug in my laptop in the evening and the next day I was
         | surprised that by mid day my battery was down to 10% after
         | working on it for 1.5 days without charging. That's when I
         | realised how long it lasts and that I got used to not charge it
         | like my iPads or phone.
         | 
         | Also never gets hot and no fan noise yet.
        
           | cageface wrote:
           | Are you using an 8GB or 16GB M1? My 8GB air has been fine for
           | everything I've done with it so far but I'm wondering if
           | Docker will be the first thing that needs more than 8GB.
        
             | solarkraft wrote:
             | I still wonder a lot about whether 16GB are worth the
             | 200EUR for a development workflow like this. Most sources
             | I've seen say "no", does anyone have any personal insight?
        
               | danieldk wrote:
               | If you are using a MacBook for work, get it with 16GB.
               | 200 Euro is at most a few hours of salary for a developer
               | in a western country and it will improve heavy workflows
               | (JetBrains IDEs, Docker, etc.) a lot.
               | 
               | If it is a personal Mac, I would still go for the 16GB
               | version, but purely for longevity. With 16GB you can
               | probably use the MacBook longer. Also, less swapping
               | means less SSD wear.
               | 
               | (16GB should really have been the default, at least on
               | the MacBook _Pro_.)
        
               | lupire wrote:
               | Making the non cheapest option the default is bad for
               | marketing.
        
               | danieldk wrote:
               | I meant that they just shouldn't sell the Pro with 8GB. I
               | know that the meaning of 'Pro' is somewhat debated, but
               | if they want to address professional developers and
               | creatives, 8GB is just too little.
               | 
               | Also, 8GB additional memory is not expensive at cost
               | price. They could use the different amounts of baseline
               | memory as a differentiator between the Air and Pro,
               | especially now that the delta between the Air and Pro is
               | so small (same SoC plus one more GPU core, Touch Bar that
               | a lot of people hate, better screen).
        
               | jacurtis wrote:
               | I had the 8Gb MBP. I bought it the day they were released
               | so it arrived on launch day. Because of the holidays we
               | had extended return window, so we could use it until
               | January 15th before returning it. I used it that whole
               | time and fell in love with the computer, but returned it
               | for the 16Gb model. But not for the reasons you would
               | expect.
               | 
               | I originally bought the 13" MBP on M1 because I was in
               | desperate need of a new laptop. I previously had a maxed
               | out 16" MBP that cost me around $3,500. I had used it for
               | about 5 years and was looking to replace it. But Apple's
               | systems were in flux and I didn't want to drop $3,500
               | again on an intel macbook right as they were going out of
               | production. So when I saw the new M1 macs released, I
               | decided to buy the $1,200 13" MBP with 8Gb of RAM and a
               | 256HDD. Just the base model. The idea was that I would
               | use this computer for a year, until Apple released the 16
               | inch "big boy" models. Then I would sell the 13 inch and
               | get the real 16 inch that I was waiting for.
               | 
               | But when I got my new mac in November, I started using it
               | and was just so amazed by the performance that I realized
               | it could do what I was asking it to do, plus I loved the
               | size, the epic battery life, and the no fan noise. I
               | essentially fell in love with that computer. When I went
               | back to my 16" macbook it felt so large and heavy, I
               | wanted nothing to do with it. Even if Apple fixes the fan
               | noise (that the 16" is horrible with) and the battery
               | life, I still hate the size. I had truly fallen in love
               | with the 13 inch computer I already had. And it was less
               | than half the price I had planned on spending during my
               | computer upgrade.
               | 
               | I originally bought the 13 inch macbook pro as a stop-gap
               | until the 16 inch models were available on M1. But after
               | using it, I decided that this was going to be my new long
               | term computer. So at the end of the return window I had
               | about 6-8 weeks using the computer. I had never had any
               | trouble with the 8Gb of RAM. BUt my mind just kept
               | telling me that 8Gb wasn't enough.
               | 
               | Since I was already upgrading the computer for more SSD
               | storage, I really went back and forth on whether to
               | upgrade the RAM as well.
               | 
               | The reason it was such a hard decision is that I couldn't
               | pinpoint a single time when I felt that the 8Gb held me
               | back.
               | 
               | But I kept going back to the idea that if I keep this
               | computer for even 3 years, the $200 becomes insignificant
               | (to me at least, I recognize I am very fortunate). So I
               | couldn't really identify a good reason to upgrade to
               | 16Gb, but because I decided to do it anyway because for
               | $200, it was worth future proofing it. So I ended up
               | returning my base model 13 inch macbook pro and upgrading
               | it to a 1Tb SSD, with 16Gb of RAM. It is now my daily
               | driver computer. Even fully loaded it is still a fraction
               | of the cost of my old macbook pro. I couldn't be more
               | happy with my computer right now.
               | 
               | The performance is just incredible. No fan noise ever.
               | Epic length battery life. Perfect size. I just really
               | love this thing.
               | 
               | So do you need 16Gb of RAM. No. Not at all. I have not
               | yet identified a time when the 16Gb has helped me or made
               | a noticable difference. When I had the 8Gb, I never felt
               | like it was slowing me down. But with all that being
               | said, if your budget allows for $200 extra, I would get
               | it just to future proof your purchase. But if you are
               | already penny pinching, then don't worry about the 8gb.
               | You probably won't ever notice it holding you back.
        
               | ogre_codes wrote:
               | I have the 8GB MBA I bought for my wife and feel somewhat
               | similarly. There are a few times when things lag a bit,
               | but mostly it just hums along.
               | 
               | I'm holding out for the next gen to release for my
               | personal machine and will go with 16GB and whatever the
               | next CPU is. Mostly, as you suggest future proofing, but
               | there are a few spots in my workflow where it does hang a
               | bit which I think extra memory would help with.
        
             | dustinmoris wrote:
             | 13 inch, 16GB, M1
             | 
             | I swear by 13 inch but I know I'm in a minority. I don't
             | need a huge screen for my work. I like to look at code
             | without bending my neck left and right all day long and if
             | I need to multi task I four finger swipe left or right and
             | feel extremely productive this way for many years now :)
             | 
             | EDIT:
             | 
             | I shall say I had an 8GB intel MBP before and 8GB was just
             | about enough for everything including Docker.
        
               | cageface wrote:
               | I was using the 16" MBP before this but having gotten
               | used to the 13" that now feels ridiculously huge. It
               | helps that I'm not using XCode much though. That really
               | wants a lot of screen real estate.
        
               | lupire wrote:
               | > bending my neck left and right
               | 
               | You can't see all of a 15" screen without bending your
               | neck?
               | 
               | You think 15" is a "huge" screen?
        
               | jacurtis wrote:
               | 13 really is the perfect size. I had a 16 inch forever
               | before it because that is the size you needed if you
               | wanted a capable enough computer to do what I needed. Now
               | I can get a $1,200 computer that works better than my old
               | $3,200+ computer.
               | 
               | I have fallen in love with the 13" size. I still have my
               | 16" computer and I pulled it out the other day and it
               | looked comically large on my lap. It seriously felt
               | ridiculous. I couldn't believe that was my standard for
               | so long. The 13" is still good enough to do most
               | anything, but small enough to really be portable. My mom
               | has an 11" air and it feels like a kids toy in my lap,
               | too small for my liking. But the 13" MBP is right in that
               | Goldilocks zone.
               | 
               | I will admit I turn down screen scaling down to minimum
               | to get more stuff on the screen. The default screen
               | scaling state makes things quite large out of the box.
        
           | kristiandupont wrote:
           | I realized that, similar to you it seems, think of my laptop
           | more like my phone now.
           | 
           | Until now, my laptop would be plugged in per default and
           | every now and then I would run on battery. Where as now, my
           | laptop needs to charge now and then, but most of the time it
           | runs on battery.
        
             | jacurtis wrote:
             | This has been my biggest psychological shift with my M1 mac
             | too. I used to use my laptop plugged in whenever possible,
             | only using battery power if plugged power wasn't an option.
             | 
             | Now I almost never use my M1 laptop on wall power. I use it
             | on battery power all day long, even when sitting right next
             | to a power outlet. I charge it every few days when I go to
             | bed or won't be working on my computer for a while. This is
             | similar to how you use tablets and phones. You usually
             | charge them up and always use them on battery power. Only
             | in an emergency do you use it while plugged in. The laptop
             | now actually fits into that category now and is used like a
             | true go-anywhere laptop, not a portable computer.
        
         | jamil7 wrote:
         | The previews I've used work fine but a few images are not
         | updated to work yet. My intel laptop died this month and forced
         | me to use the M1 for all my development work (was previously
         | using it for iOS only), I ended up setting up a remote ubuntu
         | environment on a Hetzner box to do all my Docker work. It works
         | great and I might end up keeping this setup.
        
         | __oh_es wrote:
         | I've only had one issue where it crashed, but otherwise its
         | been stable for my lightish use running compose with three
         | ubuntu images.
         | 
         | Battery life was still better than my i7 2015 mbp
        
         | blakesterz wrote:
         | I guess I'm in the minority here, but I'd say it's slow. Not
         | SLOW, but slow, compared to the Linux box I have right next to
         | the Mini. It's tolerably, but I'd say starting up the app that
         | I work on takes about twice as long on the mini, and it runs
         | maybe 1/2 as fast? It's noticeable, but not so slow that I
         | can't use it. Maybe this new release will speed things up for
         | me. Nothing else is slow about the Mini, but Docker is
         | noticeable slower.
        
           | ogre_codes wrote:
           | Since Docker only runs on Linux, it's always going to be
           | faster/ better on Linux. On the Mac you have to run Linux in
           | a hypervisor, then run Docker on that instance. Things can
           | get a better, but it's always going to be a bit of an alien.
        
         | JofArnold wrote:
         | It's been pretty fast since oxsfs was replaced with gRPR-fuse.
         | Was in the beta builds for quite some time and now is switched
         | on by default in 3.x. Idle CPU has been cut from about 100%
         | down to about 20% also.
        
         | kureikain wrote:
         | M1 Docker works and it rocks solid. I was skeptical at first
         | but I upgraded to M1 because my old Air is too slow and I
         | cannot open Chrome+Slack at a same time.
         | 
         | Suprisingly I have no problem with docker. I just download the
         | docker preview and it works flawlessly. One minior issue is
         | that if I build a Docker image that support multi arch, then
         | push to docker hub, then that image is arm64 by default. I have
         | to do `docker build --platform amd64`.
         | 
         | I document that process here:
         | https://axcoto.com/notes/2021-03-13-docker-apple-m-nginx-and...
         | I think that's the only gotcha I got so far.
        
         | ginja wrote:
         | It works reasonably well and doesn't seem to drain a lot of
         | battery. My only complaint is that running x86 images is super
         | slow... By super slow I mean that running tests on a medium
         | size Django project takes 10 minutes, as opposed to a minute on
         | my Ryzen Linux desktop.
        
         | janlaureys wrote:
         | I'm running a bunch of Drupal sites in docker on a M1 macbook
         | Air and it's running much much faster than docker for mac on
         | the 2014 Macbook Pro I had before. The docker images we're
         | using (wodby-drupal) only recently started supporting arm64
         | properly though so I had the new laptop a few weeks before it
         | was actually usable but now I'm very happy.
         | 
         | Haven't been able to run a php 5.3 container yet though for
         | this one project that is pretty much on life support.
        
         | coldtea wrote:
         | > _Curious on how Docker runs on M1, it 's well known for being
         | an horrendously slow piece of software on Apple computers,
         | draining battery life like crazy._
         | 
         | No, it's not. Perhaps that's an old wives tale from the era
         | (2-3 years ago) when it had bad fs performance and didn't use
         | the native hypervisor directly?
        
           | vetinari wrote:
           | Running Docker on native Linux machine is vastly superior;
           | the "old" TR1900X I have under the table is much more
           | performant (for Docker) than M1 MBP on the table.
           | 
           | But then, M1 MBP is 25W part and not 180W, it is also silent,
           | unlike the TR. So pick your poison.
        
             | ogre_codes wrote:
             | > Running Docker on native Linux machine is vastly superior
             | 
             | I don't know about "Vastly", but it is better and will
             | likely always be better because of the structure of Docker.
             | Docker is by definition, a container that runs atop Linux.
             | Since Linux is already Linux and the Mac has to run Linux
             | in a hypervisor, bare metal Linux is almost always going to
             | be faster.
             | 
             | But, Docker is just a part of the workflow. Dealing with
             | the limits of the Linux Desktop to get better Docker isn't
             | worth it a lot of the time.
        
               | vetinari wrote:
               | > Dealing with the limits of the Linux Desktop to get
               | better Docker isn't worth it a lot of the time.
               | 
               | That's just your personal preference; I'm using all three
               | (macOS/Linux/Windows 10) and all three are fine for
               | desktop.
        
               | ogre_codes wrote:
               | Absolutely. Should have been more clear it was
               | preference.
        
       | qeternity wrote:
       | We switched over to Garden a year ago from a local docker-compose
       | setup for dev. Garden has definitely had its rough spots but it
       | works most of the time and it's pretty amazing when it does.
       | 
       | Run your dev environment remote and instantly rsync file changes
       | and hot reload services. I've had an M1 Mac since launch day and
       | not missed a beat since we don't depend on local docker.
        
         | 0x008 wrote:
         | How is Garden different than using docker-cli with some random
         | container runtime other than docker?
        
           | ths wrote:
           | (Garden co-founder here)
           | 
           | Garden supports in-cluster building, using buildkit or
           | kaniko.
           | 
           | This way, you don't need to have Docker or k8s running on
           | your dev machine as you're working.
           | 
           | It also automates the process of redeploying services and re-
           | running tests as you're coding (since it leverages the
           | build/deploy/test dependencies in your stack).
           | 
           | We also provide hot reloading of running services, which
           | brings a similarly fast feedback loop as with local dev.
           | 
           | The idea is to have a dev environment that has the same
           | capabilities as the CI environment, and to be able to run
           | any/all of your tests without having to go through your CI
           | system (which generally involves a lot more waiting).
        
             | madarcho wrote:
             | Your site seems to target specifically teams with messy
             | docker compose setups. Is there a simplified/supported
             | migration or onboarding path?
        
             | darkwater wrote:
             | We already have some home-grown kubernetes dev environment
             | in which every developer/QA can spin up all of our services
             | in a dedicated namespace, but it's a bit tedious and
             | spaghetti-code as it grew organically over time (from a 15
             | devs team to a +70 one). Garden looks like a nice
             | alternative solution, do you think Garden Core is enough to
             | get started? (we like to get our hands dirty)
        
               | ths wrote:
               | Sounds like Garden Core could be a great fit here.
               | 
               | The motivation behind Garden was that, like you, we had
               | built our own home-grown kubernetes dev environments, but
               | felt like there should be a polished, general-purpose
               | framework + tool for this sort of thing.
        
               | wints wrote:
               | Hi, another Gardener here. Garden Core should indeed be
               | enough to get started. I'm trying to keep this as factual
               | and non-pitchy as possible for the sake of providing
               | context--the enterprise product gets you:
               | 
               | * RBAC and secrets management (also makes it possible to
               | control which users have access to which types of
               | environments)
               | 
               | * Direct integration with GitHub or GitLab, so you could
               | trigger something to happen in Garden based on a VCS
               | event
               | 
               | * Automated environment cleanup (coming soon)
               | 
               | * Support and all that
        
         | johnjungles wrote:
         | Can you please share a link? When I search for garden container
         | I get gardening results lol
        
           | holistio wrote:
           | https://garden.io was first result for "garden docker"
        
             | reaperducer wrote:
             | _https://garden.io was first result for "garden docker"_
             | 
             | For you. Google spends a trillion dollars a year to make
             | sure each person gets customized search results. So being
             | sanctimonious about your "first result" only shows that you
             | don't know how Google works.
        
           | [deleted]
        
         | desmap wrote:
         | Is the creation of volumes as easy and straight-forward as with
         | docker/docker-compose?
        
           | 10ko wrote:
           | (Garden engineer here) You can take a look at the container
           | module type guide to get a feel for how we reason with
           | volumes. We have a persistentVolumeClaim module type which
           | can used by container modules and that essentially creates a
           | k8s pvc.
           | 
           | See more: https://docs.garden.io/guides/container-
           | modules#mounting-vol...
        
       | pkilgore wrote:
       | File access on preview7 was atrocious. It would take a seeded
       | postgres-debian container 3 minutes to start (maybe 64 megs of
       | data inside) if you kept the postgres volume on the local disk
       | inside the container!
       | 
       | Intel -- instant. Hope they fixed it!
        
       | Tepix wrote:
       | So, i just got my Macbook Air M1 16GB a few days ago. What's the
       | best way to run Linux on it in a VM? Is it Docker?
        
         | jpeeler wrote:
         | Depends on what out of box experience you want and if you want
         | a GUI. For an easy out of box experience, open source, GUI
         | based tool I suggest checking out
         | https://github.com/utmapp/UTM. There's also an app store
         | version that supports the author I believe.
        
           | fghorow wrote:
           | Interesting. Can UTM run Windows also? I have a few critical
           | domain-specific commercial apps that are Windows only, and
           | need that in a VM...
        
             | jpeeler wrote:
             | Haven't tried it, but think so:
             | 
             | https://mac.getutm.app/gallery/
        
               | fghorow wrote:
               | OK. I need to look into this. Thanks for the heads-up!
        
       | derefr wrote:
       | > Some container disk I/O is much slower than expected. See
       | docker/for-mac#5389. Disk flushes are particularly slow due to
       | the need to guarantee data is written to stable storage on the
       | host. This is an artifact of the new virtualization.framework in
       | Big Sur.
       | 
       | If I don't care about persistence of my containers (e.g. I'm just
       | running ephemeral tests), is there a way to disable Docker for
       | Mac / Virtualization.framework's cache-flushing behaviour
       | entirely? I.e. to get the same behaviour as mounting Linux ext4
       | with -o nobarrier,data=writeback?
       | 
       | Does Virtualization.framework maybe have first-class support for
       | swap volumes -- i.e. inherently ephemeral volumes, that don't
       | need to be flushed to the host?
        
       | bouk wrote:
       | I wish apple would support a couple extra kernel features (like
       | bind mounts) so we can have native macOS 'containers' instead of
       | this nonsense. Running MySQL by running qemu inside a Linux VM is
       | just insane. Nix can fill some of the same roles, but it doesn't
       | work on M1 yet
        
         | sneak wrote:
         | Wouldn't that also require full namespace support, not just "a
         | couple extra kernel features"?
         | 
         | At that point if you want to bind mount in a container you're
         | talking about macOS binaries running inside the container,
         | which means a full macOS docker architecture port (like they
         | did for Windows, which AFAICT didn't make them much if any
         | money, but I think M$ paid for it anyway).
        
           | bouk wrote:
           | Namespaces are useful for security maybe, but for macOS the
           | biggest reason to use containers is to have a controlled and
           | reproducible way to run certain pieces of software. With
           | chroot and bind mount you can already achieve that.
        
       | TameAntelope wrote:
       | Very excited about this, been wrestling pretty hard with the
       | previous release, it had _lots_ of issues, to the point where I
       | was SSHing into my old laptop to run builds.
       | 
       | Really hoping those days are behind me with this, it made me feel
       | a bit foolish for springing for the mini as quickly as I did.
       | 
       | Edit: Nope, segfault yet again. God damn, well you get what you
       | pay for!
        
       | aasasd wrote:
       | I thought M1 is deprived of hardware support for virtualization?
       | Wouldn't that botch dev workflows considerably?
        
         | iends wrote:
         | This was only on the dev kits, which were released without
         | virtualization support.
        
           | aasasd wrote:
           | Gotcha, thanks.
        
         | dev_tty01 wrote:
         | No, it is supported in hardware and MacOS has frameworks to
         | support virtual machine implementation.
         | 
         | https://developer.apple.com/documentation/virtualization
        
         | nhubbard wrote:
         | No, I think it was the difference between Intel-derived
         | virtualization and ARM-derived virtualization. Virtualization
         | on ARM Macs still exists. Docker just had to convert their
         | Intel-specific code to ARM-specific code.
        
       | chatmasta wrote:
       | I love Docker, but I gave up on using it on Mac. I put a _lot_ of
       | effort into fighting it, but ultimately, it seems some of the
       | issues are just too fundamental. I like to call the Docker-for-
       | Mac experience the MacBook Airplane. At some point, your fans
       | will start spinning, your productivity will crash, and you 'll
       | spend the next three hours sifting through open GitHub issues
       | from 2017 where everyone is still complaining about the same
       | problems.
       | 
       | I'm all in on VSCode Remote SSH development now. It works
       | extremely well, I barely even notice I'm not programming on my
       | own computer, and my laptop no longer sounds like a passenger jet
       | taking off. It was very easy to setup. Our stack is still very
       | Docker heavy, but using the containers on a remote machine makes
       | it much more tolerable to work with.
        
         | pchm wrote:
         | Totally agree. Docker for Mac performance is just unbearable
         | when dealing with a semi-large webapp. I recently moved to
         | remote development - macOS with Ubuntu running in VM (VMware)
         | via Vagrant. I edit code using VSCode & Vim (via SSH & tmux
         | tabs in iTerm2).
         | 
         | Based on my benchmarks it's more than twice as fast as Docker
         | for Mac - and only minimally slower than native Docker running
         | on a Dell XPS.
         | 
         | I'm enjoying this setup so much that I'm considering moving all
         | my dev-related tools to a VM (which will hopefully allow me to
         | get rid of homebrew too).
        
           | ChristianGeek wrote:
           | Does Vagrant work on the M1 without issues?
        
             | pchm wrote:
             | No experience with M1, still on an Intel MacBook.
        
         | jacobzweig wrote:
         | Does anyone know if there's a parallel workflow in PyCharm?
         | That is, running on a remote docker container. I haven't yet
         | been able to get this working but it'd be a vastly superior
         | workflow for my use cases in ML/DS.
        
           | chatmasta wrote:
           | There are basically two parts you need to solve. You need
           | files that you edit to save on the remote, and you need to be
           | able to run commands on the remote. So a barebones setup
           | might be SSHFS for mounting files locally, and editing them
           | locally while running commands in an SSH session in your
           | terminal.
           | 
           | Though honestly... you should really try VSCode. You'll get a
           | lot more than simple editing and remote commands (e.g.
           | integrated debugging, etc). VSCode actually installs and runs
           | a headless instance of itself on the remote, and decouples
           | the UI from extensions, language servers, etc. It's a lot
           | more than just editing remote files.
           | 
           | Try downloading it, creating a $5/month VM, and setting it up
           | as a Remote SSH machine. I know it feels like a cult but it's
           | far and away the best editor experience I've had. I switched
           | from Sublime and was up to speed in a day because I could
           | import all my keybindings. You can probably do the same
           | coming from PyCharm.
        
         | skrause wrote:
         | > _At some point, your fans will start spinning_
         | 
         | This problem has been solved with the M1 MacBook Air.
        
           | noofen wrote:
           | M1 MBP here, and my lap is freezing. I have no idea what the
           | fans sound like, and I do lots of Go benchmarks using all
           | cores pretty often (I know, it's probably not that strenous--
           | but for a tmux+vim+Go dev this thing is impressive).
        
         | giuscri wrote:
         | You setup a virtual machine then?
        
           | chatmasta wrote:
           | I use an actual remote machine (Scaleway in my case). VSCode
           | remote does work with any VM or container though.
        
         | e40 wrote:
         | i have been using docker desktop on my trash can pro for a long
         | time. No issues.
        
         | dawnerd wrote:
         | I did the same after constantly yelling at docker. It's amazing
         | what vscode has been able to pull off to make ssh feel local.
         | I've tried other solutions before and they've all had
         | noticeable lag. The only time I notice is if I'm remote and on
         | a cell connection or airplane.
         | 
         | The one thing I wish they'd improve was re-establishing a
         | connection after the computer sleeps. Really annoying to have
         | to reload the entire window, sometimes.
        
           | symlinkk wrote:
           | Why is a reload annoying? All of your files are saved and
           | reopened to exactly where you left them
        
             | dawnerd wrote:
             | Terminal windows get messed up. Oddly sometimes they
             | resume, but most times they don't. Example docker-compose
             | will still run in the background but if Im coming back over
             | a weekend I might not remember and running a different
             | project will error since another docker is using the ports.
             | 
             | I know not a big issue and I could use tmux, but I'm lazy.
        
               | chatmasta wrote:
               | Tmux solves this problem for me. I don't use the VSC
               | integrated terminal at all. I have its scrollback buffer
               | set to 1.
               | 
               | The reload isn't bad for me -- it even keeps my text
               | editors open with undo history. I'm not sure if I had to
               | do something to enable that. There is probably a way to
               | make it retain the integrated terminal, too (though you
               | should really use tmux, it's awesome).
        
               | symlinkk wrote:
               | VSCode added the ability to restore "local" terminals
               | after a reload in the Feb update:
               | https://code.visualstudio.com/updates/v1_54#_retain-
               | terminal...
               | 
               | I'm guessing that doesn't work for remote terminals
               | though, I haven't tried it.
               | 
               | Seconding what the other guy said though, tmux is perfect
               | for this. If you use the iTerm2 tmux integration you
               | don't need to remember all the commands to switch tabs,
               | scroll back, etc, it just feels local just like VSCode.
        
         | lupire wrote:
         | On Windows Docker just crashes at startup, skipping the CPU/fan
         | part.
        
           | hu3 wrote:
           | You're joking right? At my previous job we had dozens of devs
           | who worked with Windows WSL2 + Docker just fine.
           | 
           | From what I remember the only requirement was that the dev
           | environment stayed inside WSL2. Performance was native-like.
           | With VSCode remote extensions it just works.
           | 
           | I still prefer Linux as a general development platform.
        
         | deergomoo wrote:
         | At work we used Docker for local development but not
         | production, purely because we have some ageing internal systems
         | and it made it easier to deal with different versions of PHP,
         | MySQL, etc.
         | 
         | After numerous Docker woes on Mac I ended up just spending a
         | tiny bit of time installing and configuring Nginx and various
         | PHP-FPM and MySQL versions from MacPorts. It was easy, I
         | learned a lot more about the platforms we use, and because
         | they're all socket-based they can all be running at once. Just
         | added a couple of bash functions to bring everything up and
         | down.
         | 
         | Sure my dev environment isn't the same as prod, but it wasn't
         | when I was using Docker either.
        
       | me551ah wrote:
       | I wish Apple would give Docker some love like Microsoft does.
       | Using Docker with WSL is a breeze, and it runs so much better
       | than MacOS. And as an advantage you get access to Linux package
       | managers which are so much better than brew. Brew is good, but
       | Linux package managers like pacman and apt are so much better.
       | Having a proper Linux distribution open in one window while I
       | play 'Call of Duty' in another, is one reason why I've moved to
       | Windows again.
        
         | countmora wrote:
         | Where do you see the limitations of Brew? Despite it being a
         | little wonky on beta releases of a new macOS iteration it works
         | fine for me.
        
           | vetinari wrote:
           | As others mentioned (it is slow, has problem with multiple
           | users, cannot pin versions) it is also missing features the
           | linux distribution have. For example, you cannot have
           | Provides: alternatives as rpm/dpkg do, you must use packages
           | for resolving dependencies as they are provided by upstream.
           | 
           | For example, when postgresql 12 was released, it took some
           | months to appear in brew. Meanwhile you could not use
           | alternate taps to resolve dependencies, if some package
           | required postgres, it had to be the original one.
        
             | iamAy0 wrote:
             | Why would you install postgres through Brew though?
             | 
             | Those times are way gone, that's the purpose of containers.
             | 
             | I've been using Brew for a while to just install "core"
             | packages like python, curl, wget and such, and everything
             | else like a postgres, nginx, whatever..a go to a container.
        
               | michaelcampbell wrote:
               | Not going to wade into the "should" or "shouldn't" of
               | this, but I have used postgres-via-docker for ... few
               | years now, and it is a DREAM. And I never have to worry
               | about versions or dependencies (at least I haven't yet).
        
               | earthboundkid wrote:
               | I've installed Postgres on my Mac with Homebrew, Docker,
               | and https://postgresapp.com. There are arguments for each
               | of them. On the pro side:
               | 
               | - Homebrew is a general purpose package manager, and
               | Postgres is a package you might want managed.
               | 
               | - If you're using Docker/Docker Compose for a project
               | anyway, that's the obvious way to do it.
               | 
               | - Postgres.app is a specialized tool just for managing
               | Postgres installs, so it's hard to beat if that's what
               | you need.
               | 
               | Some thoughts on the tradeoffs though:
               | 
               | - Homebrew really doesn't like the idea of "versions". It
               | wants everything to be on the latest. That can be fine if
               | you just need a tool locally, but if you want dev and
               | prod to match, it is a pain in the ass.
               | 
               | - Docker isn't really very good at persistence. That's
               | probably not a problem for local development, but you
               | should be aware of it. Running it on a Mac introduces
               | speed and memory issues you wouldn't otherwise have. And
               | now obviously there's the M1 problem.
               | 
               | - Postgres.app is another thing to install. If you just
               | need Postgres for one particular project you might not
               | know about it or want to deal with installing something
               | new.
        
               | Toutouxc wrote:
               | > Those times are way gone, that's the purpose of
               | containers.
               | 
               | Please elaborate on the claim that "running a SQL
               | database" is the purpose of containers.
        
               | Terretta wrote:
               | Why _wouldn't_ you want to run a database under
               | namespaces and cgroups from a dependency-bundled live
               | archive file tree?
               | 
               | By and large, there's no such thing as a container,
               | there's just sprinkles of housekeeping magic. To wit,
               | Docker implemented in around 100 lines of bash:
               | 
               | https://github.com/p8952/bocker
               | 
               | Problems come when we think that today's containers
               | manage to actually contain anything, bring any security
               | guarantees, or do much else than just slightly-more-
               | successfully jump start a configurable bundle of
               | dependencies.
        
               | Spivak wrote:
               | I think you're being unkind to containers. Yes it's easy
               | to say that "containers aren't a thing" and then list all
               | the little tools that are used to implement them. That
               | doesn't make them not real any more than any other
               | abstraction.
               | 
               | Why wouldn't you want to run a database under VT-x, with
               | random emulated hardware and a dependency-bundled disk
               | image? By and large there's no such thing as a VM,
               | there's just sprinkles of housekeeping magic?
               | 
               | Containers as specced and implemented do come with
               | security guarantees. And if they fail to meet them it's a
               | bug.
        
               | vetinari wrote:
               | To be fair to GP, running sql database inside a container
               | does have benefits for development, and in many
               | situations, for deployment too.
               | 
               | However, if I do some exploratory experiments, where I
               | don't care about repeability and where I use other local
               | tools (like the mentioned mapnik, or jupyter), having it
               | in container is needless complication.
        
               | vetinari wrote:
               | Because if you need to ingest some data, it is much
               | slower with Docker Desktop for Mac :/
               | 
               | Also, I have some tools installed with brew, that have
               | postgres as dependency (e.g. pgloader or mapnik).
        
           | dastx wrote:
           | Last time I used a Mac was around, maybe 3 years ago, so this
           | certainly may have improved.
           | 
           | I had a lot of issues with Brew, but the biggest one was how
           | slow it was. Upgrading all packages on my Mac used to take
           | hours.
        
             | vkoskiv wrote:
             | Still quite slow. As far as I know, it's just a big heap of
             | small ruby scripts that invoke each other, and ruby isn't
             | known for blazing-fast performance. It also uses git
             | internally, and quite heavily, so that probably adds some
             | overhead as well.
        
           | vkoskiv wrote:
           | I think the main criticism of homebrew is that it's really
           | slow.
        
             | tokamak-teapot wrote:
             | Slow where? Searching could be faster, but it's a few
             | seconds. Installing is fast except where compilation
             | happens. I have to admit I don't know why it compiles when
             | it does, but it isn't all packages that get compiled.
        
               | ratww wrote:
               | It wants to update a few times a day by default when you
               | call it, so running a simple _brew install anything_
               | normally takes about 30 seconds (I 'm in a MB Pro), even
               | if it's just to say the package you want wasn't found.
               | 
               | If you don't run it daily, it takes about a minute or two
               | to update.
               | 
               | But even when it doesn't update, it is extremely slow
               | compared to any other package managers. It is
               | disruptively slow and it takes a lot of resources, even
               | in a powerful machine (and I'm not talking about
               | compilation here).
        
               | tokamak-teapot wrote:
               | I think I'm just not used to faster package managers and
               | I don't install packages often enough for it to feel
               | disruptive to wait a few seconds.
               | 
               | I do like tools to be as fast as possible, though, and
               | I'd forgotten about that update it does sometimes when I
               | run it - that does seem to take a long time.
               | 
               | I'll have a look at how it works and see what the things
               | are that take time. I would expect network traffic for
               | updates, perhaps whatever it's getting updates from does
               | some processing (I'm sure it said something about
               | GitHub), perhaps there is some dependency resolution that
               | needs CPU...
               | 
               | It would be interesting to compare its architecture to
               | other package managers if they're significantly faster.
        
               | ratww wrote:
               | The slowness is mostly due to Ruby and the _git pull_. I
               | contributed in the past and reimplemented it in bash, and
               | there isn 't much going on, honestly.
               | 
               | 99% of the time, installing a package consists of
               | downloading a few zips from their CDN, decompressing and
               | linking. For those cases Brew could just be checking an
               | API instead of constantly cloning the git repository.
               | 
               | I'm quite surprised nobody has reimplemented it in Rust
               | or Go. The architecture is quite simple compared to a
               | normal package manager. Maybe it's just superstition:
               | people see "package manager" and assume it's complicated
               | instead of digging into the code and finding out how it
               | works.
        
               | varjag wrote:
               | Well, a few seconds for package search in a local index
               | is slow. It's instantaneous with apt on my 3 year old
               | Linux desktop, where here is the famous M1 advantage? :)
               | 
               | Installing anything with brew involving multiple
               | dependencies is also taking forever-ish, compared to mere
               | seconds with apt.
        
             | sonu27 wrote:
             | It also has a fair share of problems. Like multiple users
             | on the same machine, I had issues with permissions, etc
        
           | mark_l_watson wrote:
           | I second that. On my M1 MacBook Pro, I have both the M1
           | version and Intel versions installed. I have found that if I
           | use the Intel installation to install something like MIT-
           | Scheme in a terminal running Rosetta, the it is available
           | everywhere. It took me a little while to get that sorted out.
        
           | SahAssar wrote:
           | It's been argued that the recommended way it works is a
           | security issue:
           | 
           | https://applehelpwriter.com/2018/03/21/how-homebrew-
           | invites-...
           | 
           | https://askubuntu.com/questions/261326/is-it-safe-to-
           | chown-u...
        
             | tobylane wrote:
             | On Apple Silicon it now installs to /opt/homebrew, a change
             | they've been wanting to do for a while.
        
               | matthewbauer wrote:
               | Does /opt/homebrew still end up in root's PATH, I wonder?
               | That has the same issue that /usr/local has I think.
               | Letting users mess with root's environment basically
               | means there is no real distinction between root and non-
               | root.
        
               | mikemcquaid wrote:
               | No, it doesn't.
        
             | Hackbraten wrote:
             | It's not really insecure. See:
             | https://security.stackexchange.com/q/187502
        
           | cactus2093 wrote:
           | It's been a little while since I relied on it heavily, but
           | you still can't install/pin specific versions, right? That's
           | a huge limitation if you want to do any reliable development
           | on macOS directly without using a vm or docker.
           | 
           | It's also just so slow to update if it's been more than like
           | an hour since you last updated, the way it uses one big git
           | repo under the hood is just chaos.
        
             | strokirk wrote:
             | Can you pin versions in apt? Last time I checked it
             | involved a lot of work and swearing, but that might have
             | improved lately.
        
               | andoriyu wrote:
               | Not really, it was pretty verbose, but wasn't hard.
               | Pinning is for setting package priority between multiple
               | repos.
               | 
               | What you're looking apt is apt-holding:
               | 
               | apt-mark hold libxfont1
               | 
               | That been around since 2013 IIRC. And there was dpkg way
               | of doing it before.
        
             | jameshart wrote:
             | You can pin versions in brew (brew pin <package>) to
             | prevent upgrades.
             | 
             | You _can_ install specific versions, but it requires some
             | gitfu - you need to uninstall, find the brew commit where
             | the package is at the version you want, then install from
             | that specific git blob.
        
         | skohan wrote:
         | > Using Docker with WSL is a breeze
         | 
         | Have there been some updates recently? About a year ago we were
         | trying to use Docker on a windows host at work, and dealing
         | with things like file system paths was a nightmare
        
           | datavirtue wrote:
           | Several months ago. A year is a long time for the microsoft
           | bleeding edge these days. You can come back to something a
           | year later and it is completely revised in many respects.
           | Bugs gone, new ones created and discovered, whole subsystems
           | rewritten etc...
        
           | kyriakos wrote:
           | enable WSL2, install Docker Desktop in windows and it just
           | works. you dont even need to install docker in WSL, its done
           | automatically and kept updated by docker-desktop.
        
             | gizmo385 wrote:
             | You might also need to update some settings in your BIOS to
             | enable the hypervisor, but once you get it working it's a
             | breeze to use.
             | 
             | WSL is really remarkable.
        
           | atonse wrote:
           | WSL is Linux. They run the unmodified Linux kernel in a pico-
           | process an docker runs on top of that.
           | 
           | Technically there shouldn't be file system issues right?
        
             | imwillofficial wrote:
             | It's not an unmodified kernel.
        
               | shawnz wrote:
               | It is basically an unmodified kernel. Like in any
               | purpose-built usage of Linux, it is compiled with
               | specific options and patches for the environment it is
               | made to run in, but you can replace it with your own
               | kernel image if you want.
        
             | skohan wrote:
             | How does it work with local directories? Is there a
             | separate file system for WSL, or does the linux kernel
             | translate windows fs paths or something?
        
               | H12 wrote:
               | It's a separate filesystem, but from WSL you can access
               | Windows files in mounted drives via the `/mnt/<drive
               | letter>` directory.
        
               | dboreham wrote:
               | And vice versa: linux home dir is at something like
               | \\\wsl$\ubuntu\home\username
        
               | radicalbyte wrote:
               | It's the same filesystem with some kind of
               | translation/adapter. I love it because it makes
               | supporting our multi-platform OSS projects easy.
               | 
               | You do have the occasional issues regards line endings;
               | that's the only negative I've had so far.
               | 
               | EDIT: H12 is more accurate. The Linux OS is separate, but
               | the Windows FS is mounted to a logical place and "just
               | works".
        
               | skohan wrote:
               | Yes line endings for configuration files was one of the
               | issues we ran into
        
               | tw04 wrote:
               | Yes, there is a separate filesystem for WSL, but you can
               | still traverse the Windows filesystem as well, including
               | mounting external drives. You can also browse the linux
               | filesystem from windows explorer as expectded.
               | 
               | https://docs.microsoft.com/en-us/windows/wsl/compare-
               | version...
               | 
               | https://devblogs.microsoft.com/commandline/access-linux-
               | file...
               | 
               | https://community.openbiox.org/d/72-windows-subsystem-
               | for-li...
        
             | shawnz wrote:
             | WSL1 used a syscall translation layer in a "pico process",
             | WSL2 simply uses Hyper-V
        
             | dboreham wrote:
             | It's even mode magical than that : the docker containers
             | run inside a Linux kernel that is not the one running your
             | WSL2 environment, but the two are in cahoots such that the
             | filesystem is shared and hence container mounts are as fast
             | as they would be on a bare metal Linux box (e.g. -v
             | $PWD:/workdir).
        
             | exdsq wrote:
             | WSL2 is now just a regular VM
        
               | alpanka wrote:
               | There are some differences in the software thought.
        
               | exdsq wrote:
               | True, but it uses a Linux kernel over hyper-v rather than
               | a wrapper over the win32 api like WSL1 (from what I
               | understand!)
        
               | alpanka wrote:
               | Yes, but it is a slightly modified distro which causes
               | some issues
               | 
               | And not all are minor. Not being be able to run LXC is a
               | deal breaker for me.
        
               | hda111 wrote:
               | What makes you think WSL2 isn't able to run LXC?
        
               | imwillofficial wrote:
               | WSL2 is a custom Microsoft kernel
        
               | rcarmo wrote:
               | If you can't do what you want in it, please open a ticket
               | on https://github.com/Microsoft/WSL - there is also a
               | repo for the kernel, but AFAIK technical feedback is best
               | sent through this one.
               | 
               | (disclaimer: not directly involved with WSL, just trying
               | to help)
        
               | exdsq wrote:
               | You could with a little work in June 2019, not sure what
               | the picture is like now but it might be possible. I've
               | used nix quite a bit on WSL2 which was surprisingly good.
               | 
               | https://blog.simos.info/how-to-run-lxd-containers-in-
               | wsl2/
        
             | guggle wrote:
             | I do have locking issues with some sqlite files. I guess it
             | has to do with the fact that the filesystems are shared. I
             | wish I had time to investigate more.
        
         | ajford wrote:
         | Do you use any other virtualization software along side HyperV?
         | We have a lot of legacy stuff that integrates with VirtualBox,
         | but wanted to start edging towards Docker.
         | 
         | However, when I last spent a couple of sprints attempting to
         | get them working side-by-side, it was a pretty big failure. I
         | couldn't get VirtualBox 6.0 running without falling back to
         | soft virtualization which was painfully slow (booting a Ubuntu
         | box took the better part of an hour).
        
           | yonixw wrote:
           | Why not using HyperV itself instead of Vbox?
        
             | ajford wrote:
             | Because of a lot of existing internal tools that directly
             | call and manage VBox to set up local testing environments
             | and stacks.
             | 
             | It's a planned initiative for the future, but it means a
             | fundamental change in a number of tools and would require a
             | rather large set of rewrites.
             | 
             | On top of that, out of the large pool of users, only a
             | small handful would actually need to run Docker side-by-
             | side with these tools, meaning that it's a huge rewrite to
             | allow a small number of people to use Docker on their
             | desktops. That ultimately means it's getting very little
             | traction and keeps getting pushed down the backlog.
        
         | cageface wrote:
         | What kind of machine are you running windows on?
        
         | deergomoo wrote:
         | > Brew is good, but Linux package managers like pacman and apt
         | are so much better
         | 
         | I used starting fresh on the M1 as an excuse to give MacPorts a
         | go, and I like it much better than Homebrew. There's some
         | smaller packages that aren't on MP, but all the big stuff is
         | there and to me it feels much more like a Linux package
         | manager.
        
           | bronson wrote:
           | I'd like to be done with Homebrew. (I asked you to install
           | pv, not thrash the world.)
           | 
           | Anyone tried Nix? I'm trying it soon. If it doesn't stick,
           | yep, back to MacPorts like it's 2007.
        
           | memco wrote:
           | Could you expand on what is better about macoorts over brew?
           | I quickly got onto the Macports page and saw first off that
           | sudo is needed for updating itself and second that I have to
           | select the right version for my OS: Brew is a single install
           | that does not require sudo to update so there's a few things
           | that already make Brew more appealing for me. What does
           | MacPorts do better?
        
             | deergomoo wrote:
             | This is the article that prompted me to give it a try, and
             | summarises my feelings better than I could:
             | 
             | https://saagarjha.com/blog/2019/04/26/thoughts-on-macos-
             | pack...
        
           | sgerenser wrote:
           | I've always preferred MacPorts to brew. I think you've nailed
           | it, it just feels much more like the Linux package managers
           | I'm used to. Homebrew has definitely won the popularity
           | contest though.
        
             | rconti wrote:
             | I used MacPorts ages ago, and honestly thought it went
             | away, which is why I switched to Brew, which I've never
             | gotten comfortable with.
        
             | geoelectric wrote:
             | IIRC my issue with MacPorts was that it insisted on
             | recompiling the world from its ecosystem as dependencies
             | because it kept everything super-stable, whereas brew would
             | attempt to use system ones if they were viable. It was more
             | or less FreeBSD Ports vs. Debian apt-get as the model at
             | that point, and MacPorts was (predictably) FreeBSD-like.
             | 
             | Over time I'm not sure brew is any better now, though. I
             | have unlinked versions of gcc, python, etc., etc. under
             | /usr/local that are there just to handle brew packages that
             | listed them as pinned dependencies. It's nice that brew
             | doesn't expose them to CLI unless I want it to do so, but
             | it's not less complex.
             | 
             | Assuming MacPorts has a good "bottle" type concept of
             | precompiled packages now too (haven't looked for years)
             | it's probably about the same as brew now, just more stable.
             | If they still compile from source every time a la BSD, that
             | would be my main sticking point.
        
         | f6v wrote:
         | I heard WSL2 was no good.
        
           | discordance wrote:
           | VS Code with remote container dev on top of WSL2 works really
           | well for me:
           | 
           | https://code.visualstudio.com/blogs/2020/07/01/containers-
           | ws...
        
           | ryneandal wrote:
           | It's been flawless and I've been using it pretty extensively
           | as a replacement for vagrant development VMs.
           | 
           | I believe one of the issues laptop-related, and I work
           | exclusively on a desktop these days, so that was a non-issue
           | for me.
        
           | unicornfinder wrote:
           | Without more detail it's hard to say much that's useful but
           | in my experience WSL2 has been nothing short of excellent.
           | Also switched from Mac to Windows with WSL and the
           | development experience is much better.
        
           | tyingq wrote:
           | People were frustrated mostly with 2 issues...
           | 
           | a) It doesn't play well with deep sleep mode, and crashes.
           | Perhaps it's been fixed, I don't know, I just disabled deep
           | sleep.
           | 
           | b) The networking is different than WSL1 and requires odd
           | workarounds for things like X11 to work normally. I had to
           | use a 192.168.1.x address for DISPLAY instead of localhost.
           | Which required some VB scripting to reliably work for me.
        
             | dgellow wrote:
             | My main issue is the lack of support for serial (so, no USB
             | support): https://github.com/microsoft/WSL/issues/2195.
             | 
             | Other that this I love Windows 10 + WSL2 as a dev
             | environment.
        
               | tyingq wrote:
               | It's a little clunky, but you could use a Windows RFC2217
               | remote serial server with socat on the Linux side to make
               | a virtual serial port tied to a real one. I've done this
               | (albeit not with WSL), and it did work.
               | 
               | https://gist.github.com/DraTeots/e0c669608466470baa6c
        
               | tyingq wrote:
               | Too late to edit, but there's also an unapplied pull
               | request that seems to make usb passthrough work:
               | 
               | https://github.com/microsoft/WSL2-Linux-Kernel/pull/45
        
               | rcarmo wrote:
               | I have WSL1 alongside WSL2 for this. WSL1 works fine with
               | my FTDI adapters to flash ESP8266 and all.
        
         | cactus2093 wrote:
         | The only problems I've had with docker slowness (though it's
         | been a very significant problem) is shared file system
         | performance. It's made many use cases and tools that are slow
         | to begin with (like webpack) basically unusable for a
         | development workflow.
         | 
         | So the main thing Apple could do to show some love to docker is
         | build out full apfs support in the Linux kernel. I have no clue
         | how much work that entails but presumably it's pretty massive,
         | and it seems totally unlike them. Maybe one day they'll have a
         | come to Jesus moment like Microsoft and start caring about
         | developers (non-iOS developers) but I don't really see it
         | happening.
        
           | cowmix wrote:
           | The fact you need to partition off RAM and CPUs for Docker on
           | the Mac is the killer for me.
        
             | laurencerowe wrote:
             | Don't you have to do that under windows too given WSL2 also
             | runs as a VM?
        
               | merb wrote:
               | no not in wsl2. (you can, but there is no need for that)
               | (btw. disk storage can be too small, but that is the only
               | problem that can occur https://docs.microsoft.com/de-
               | de/windows/wsl/compare-version...)
        
               | rcarmo wrote:
               | Actually that's done for you, whether you control it or
               | not. WSL2 is essentially a VM with better host
               | integration.
        
           | leoc wrote:
           | Apple (as you may know) did in fact have a spell as open-
           | systemsy Unix-loving guys, starting from the NeXT acquisition
           | but ending no later than the release of the iPhone. The usual
           | pattern, basically:
           | https://news.ycombinator.com/item?id=7525256 .
        
           | whimsicalism wrote:
           | The shared filesystems are also quite buggy.
           | 
           | I was developing a database as a personal project that
           | involves mmapping a file and the Docker shared filesystem had
           | some peculiar behavior they was different from how normal
           | filesystems work.
        
           | unilynx wrote:
           | If you found this unusable, you probably haven't had to work
           | with the Virtualbox-backed version of Docker for Mac :-)
           | 
           | Have you considered storing the npm_modules and running
           | webpack on a tmpfs/volume (so that it doesn't have to go
           | through the shared FS layers) and only copying the end
           | product to a shared volume?
        
             | derefr wrote:
             | Creating and mounting a loop-volume within the HGFS and
             | then running NPM in there, would probably also be helpful.
             | It certainly is when wrangling a directory with lots of
             | tiny inodes over SMB. (It's also what Apple themselves do
             | for running Time Machine over SMB: they create a
             | sparsebundle image on the remote and mount it locally, and
             | write to that.)
             | 
             | (The efficient thing about this class of solutions, if
             | you're wondering, is that the client mounting the loop-
             | image ends up owning + managing the loop-image's internal
             | filesystem's metadata within its own local disk cache, such
             | that it can coalesce filesystem metadata writes and only
             | push a new copy of the disk-image blocks backing the
             | filesystem metadata after a potentially-huge number of
             | changes. With a network/host-guest filesystem, meanwhile,
             | every filesystem metadata change must become its own
             | synchronous message to the host, to be pushed to the host's
             | filesystem driver for linearization, so it can succeed or
             | fail relative to other things going on within the host.)
        
             | GordonS wrote:
             | Virtualbox-backed Docker on Windows was my first
             | introduction to Docker - it literally put me off touching
             | Docker for 1-2 years!
             | 
             | After eventually falling in love with it on Windows and
             | Linux, I later tried it on MacOS... oh my. Not fun!
        
             | tshaddox wrote:
             | Yep, using Webpack in Docker on a Mac is essentially
             | unusable. I see around a 5-10x slowdown in Webpack builds.
             | Using docker-sync seems to help the CPU out a bit, so my
             | MacBook Pro doesn't do the jet engine space heater routine
             | quite as much, but the performance is still nearly
             | unusable.
             | 
             | https://docker-sync.readthedocs.io/en/latest/
        
               | aguilarm wrote:
               | webpack can be made use-able relatively easily if you do
               | not mount node modules over the shared file system. I've
               | been doing this for quite awhile with a volumes
               | declaration in docker-compose that looks like this
               | (running nextjs, assuming /usr/src/app is where your
               | dockerfile has your node stuff):
               | 
               | (on service definition): volumes: - .:/usr/src/app:cached
               | - node_modules:/usr/src/app/node_modules/ -
               | next_artifacts:/usr/src/app/.next/
               | 
               | and then in the top level volumes key defining
               | node_modules and next_artifacts as blank/default.
               | 
               | That means I mount everything _except_ node modules and
               | the build artifacts so the shared filesystem does a LOT
               | less work trying to sync stuff. The downside, of course,
               | is that I need to run npm commands both inside the
               | container and outside if i want them in my IDE. A fair
               | trade for decent performance. That setup is still not as
               | fast as native but definitely usable and does not send my
               | machine into space header mode much more than normal
               | usage.
        
               | tshaddox wrote:
               | Interesting. I have always had the same docker-compose
               | setup with a separate node_modules volume inside Docker,
               | but I've always still had the jet engine space heater
               | issue.
        
               | bdcravens wrote:
               | I've been able to improve performance in docker-sync by
               | adding high-churn folders that I don't care about to
               | sync_excludes
        
             | girvo wrote:
             | I used to run my own Xhyve based VM just to avoid the
             | brutal VirtualBox Docker system on macOS. Man that's some
             | bad memories.
             | 
             | The newer Docker for Mac is better, but file system perf
             | still could be massively improved. Big node_module
             | directories can still cause pain even today
        
               | llimllib wrote:
               | > Big node_module directories can still cause pain
               | 
               | is there any other kind?
        
           | DanHulton wrote:
           | That _used_ to be a problem for me, until I found Mutagen. It
           | is _surprisingly_ easy to set up, and my webpack builds in
           | Docker are only about 5-10% slower than running natively.
           | 
           | https://nodewood.com/blog/how-to-speed-up-docker-on-macos/
        
           | zaphirplane wrote:
           | Sounds like you like Linux but run windows ;) yeah outlook
           | word
        
         | jayfk wrote:
         | Are there any good iTerm like terminals for Windows available?
         | 
         | Last time I checked, the terminal was horrible to work with.
        
           | somebehemoth wrote:
           | I don't think there is anything as good as iTerm. ConEmu is
           | not bad.
        
           | johnhenry wrote:
           | Not sure if it's what you're looking for, but Microsoft did
           | recently release a new terminal:
           | https://www.microsoft.com/en-us/p/windows-
           | terminal/9n0dx20hk...
        
           | bin_bash wrote:
           | They're investing in it but it's no iTerm
           | 
           | https://github.com/microsoft/terminal
        
           | parhamn wrote:
           | Alacritty is cross platform and the terminal I use over iTerm
           | on MacOS as well (it's so freaking fast). It doesn't have
           | tab/windows management stuff but works great with Tmux.
        
           | MayorMonty wrote:
           | Windows Terminal and Fluent Terminal are both good
        
         | crb002 wrote:
         | WSL is probably easier to write for XNU than it was for
         | Windows. Yeah, silly that Apple hasn't yet.
        
           | pjmlp wrote:
           | https://www.opengroup.org/openbrand/register/
           | 
           | No need for WSL.
        
         | varispeed wrote:
         | The problem is that Apple does not want to spend money where
         | they don't absolutely have to. In their mind Docker is someone
         | else's problem and if that 3rd party will also pay salaries and
         | taxes, it's perfect for Apple. I am sure once Docker commit
         | resources and solve it, the Apple will be boasting how great
         | Docker works on their platform.
        
           | readbeard wrote:
           | I don't know, supposedly [0] Apple provided patches to help
           | get Blender running on M1.
           | 
           | [0] https://www.reddit.com/r/blender/comments/jsc03l/blender_
           | on_...
        
             | tobylane wrote:
             | And many others, transcribed list here
             | https://news.ycombinator.com/item?id=23643425
        
               | ksec wrote:
               | And many of those were ported or tested on ARM before M1.
        
           | machello13 wrote:
           | There's a great deal of cases where Apple went out of their
           | way to help out 3rd parties with compatibility, including
           | quite a few cases with the M1 Macs themselves. Is your
           | comment based on anything or just typical HN "Apple = evil"?
        
             | ksec wrote:
             | The is because those 3rd parties matter to Apple's
             | ecosystem. And hence it is of their interest, Adobe,
             | AutoDesk, Panic, or any creative tools.
             | 
             | Docker and Developer Tools does not happen to be one of
             | them.
        
         | m463 wrote:
         | Unfortunately, I think apple only invests in things apple. So
         | the "target market" is not developers for other platforms.
         | 
         | Too bad because a _native_ apple docker would be really really
         | useful. imagine:                 FROM macos:10.13.3       RUN
         | xcode-build
         | 
         | (I'm not talking about the current docker on mac which runs
         | linux in a vm)
        
           | nine_k wrote:
           | But where are you going to run the image? On a Mac Mini in
           | your DC?
           | 
           | BTW macOS being a BSD derivative of sorts might benefit from
           | Docker development on FreeBSD, which uses jails instead of
           | cgroups, etc. At least, that could be easier to port,
           | assuming that macOS kernel has the needed facilities.
        
         | [deleted]
        
         | yrro wrote:
         | > Using Docker with WSL is a breeze
         | 
         | Not if your Windows users have to use Direct Access to connect
         | to your container registry...
        
         | ojosilva wrote:
         | Apple is not giving proper love to their breakthrough laptop
         | chipset. They amazed the world with "neural net on chip" for
         | ML, even mentioning Tensorflow explicitly in its launch. Here's
         | the real deal: getting anything Tensorflow related to even
         | compile on M1 is nothing short of a miracle. Yes, Apple has a
         | binary version (yuck) of TF you can download, but that's not
         | good enough as many projects need specific versions and not
         | everyone (ie OSS devs) can spend that much effort on a fringe
         | tech.
         | 
         | If I were Apple (ehem) I'd spend a small but meaningful budget
         | supplying devs to projects like Docker or TF to help speedup M1
         | adoption. Given that the chip market is open for grabs I'd say
         | it could give Apple a much stronger headstart with their in-
         | house silicon strategy, even if that means helping improve
         | products or the bottom-line for well-established corps, some of
         | them competidors.
        
           | ogre_codes wrote:
           | Give me a break.
           | 
           | The M1 migration is less than a year old and it's already the
           | single best/ most successful CPU migration in my memory. Far
           | better than Apple's PPC -> Intel Migration and massively
           | better than whatever half-steps Microsoft has done to port
           | over to ARM.
           | 
           | Apple absolutely should invest in much of what you suggest.
           | In 6-12 months, after the platform is complete and mature
           | enough to identify where the big problems are.
           | 
           | Most of us understand that you exercise caution when
           | migrating mission critical work onto a 6 month old platform.
           | 
           | In the mean time, Apple has been hiring top Docker talent
           | like Michael Crosby.
           | 
           | https://www.protocol.com/apple-hires-cloud-open-source-
           | engin...
           | 
           | It's possible they are hiring top container developers just
           | to improve their internal cloud infrastructure. But what kind
           | of hardware do you expect these guys will be running?
           | 
           | EDIT: Trimemd some repetitive stuff.
        
         | 600frogs wrote:
         | I'm definitely interested in WSL for developing, but last time
         | I tried it a while back (WSL2 just came out I think), there was
         | basic functionality missing e.g. I couldn't write and run my
         | own SystemD services. Has the situation improved since then?
         | 
         | When you say "proper Linux distribution", I assume that's still
         | CLI only? Do you develop with e.g. emacs, vim on WSL, or do you
         | have some IDE with remote running and debugging into WSL? Or
         | have a missed a trick and in fact X/Wayland applications can be
         | run on WSL?
        
           | rcarmo wrote:
           | Re: CLI, there is ongoing work on getting graphics support
           | for over a year now: https://lkml.org/lkml/2020/5/19/742
        
           | e12e wrote:
           | > still CLI only?
           | 
           | With openssh in windows, it's been quite easy to run an x
           | server in windows, and use ssh with x forward for gui access.
           | 
           | But rdp feels more native to windows, and both x and Wayland
           | has rdp server backends - so you can do things like:
           | https://www.nextofwindows.com/how-to-enable-wsl2-ubuntu-
           | gui-...
           | 
           | But apparently ms is working on a Wayland compositor allowing
           | directly running gui apps - I don't think it's quite there
           | yet:
           | 
           | https://www.phoronix.com/scan.php?page=news_item&px=Microsof.
           | ..
           | 
           | https://github.com/Microsoft/WSL/issues/938#issuecomment-763.
           | ..
           | 
           | Somewhat related: https://ltsp.org/ I'm not sure about the
           | state of a non-x rdp server for thin clients though.
        
             | 600frogs wrote:
             | Thanks for the links, some interesting stuff there! I think
             | my end goal is to have a contained development environment
             | whilst not being forced to use specific tools (i.e. VSCode
             | remote debugging, eugh) and not sacrificing compilation
             | times by running in a VM that's too slow.
             | 
             | From the look of it, if I were to set up the WSL2 Ubuntu
             | GUI with RDP, that'd tick all the boxes, right? And as a
             | bonus I'd be able to access files in WSL2 from Windows.
             | 
             | Any idea how WSL2 interacts with VPNs? I've seen some mixed
             | reports around the web but this is also a must-have for me,
             | if I can't use a VPN in my dev environment it's game over.
        
               | hazaskull wrote:
               | YMMV but for me personally with Dell Sonicwall it
               | basically does not work (even workarounds that mess with
               | MTU sizes are unstable). In my case the behavior is that
               | general networking speed drops massively as soon as both
               | VPN and WSL2 are active. I had to revert back to
               | virtualbox, which does not have such problems and as a
               | bonus allows me to run proper systemd (another thing
               | missing in wsl)
        
               | 600frogs wrote:
               | Interesting, that might be a dealbreaker then. Have you
               | found significant slowdowns in working in a VM vs native,
               | both in terms of compilation and day-to-day work, or has
               | it been negligible/unnoticeable?
               | 
               | P.S. thanks for making an account just for this reply :)
        
               | hazaskull wrote:
               | Needed to create one for a long time ;) General cpu-bound
               | tasks seem fine in a vm; i/o is definitely slower but
               | much to my surprise linux's ext4 filesystem is so much
               | more efficient (?) than ntfs for small files that even
               | inside a vm (vbox or wsl) git actions are noticably
               | quicker than on native Windows! I'd prefer is wsl2 for
               | convenience over vbox if I could but my VPN is indeed the
               | dealbreaker and corp. won't support any other VPN
               | software
        
               | e12e wrote:
               | > sacrificing compilation times by running in a VM that's
               | too slow
               | 
               | Fwiw wsl2 runs in a vm now (hyper-v). AFAIK it's in order
               | to increase fs performance "inside" Linux (so faster
               | compiles if compiling in wsl).
               | 
               | It's also possible to use cifs/samba shares - but I don't
               | know what you're compiling? Chrome/Firefox sized c++
               | projects?
               | 
               | Might be worth it to try with a tmpfs/ramdisk either way?
        
               | running101 wrote:
               | I have it working with vpn. We have vpn at work and it is
               | forced tunneling mode. It modifies routes on my laptop.
               | Since wsl2 is a vm on a different network the vpn client
               | does not know about this network and doesn't know how to
               | route traffic. If you follows these instructions it
               | solves the problem https://github.com/sakai135/wsl-vpnkit
        
           | vetinari wrote:
           | > there was basic functionality missing e.g. I couldn't write
           | and run my own SystemD services. Has the situation improved
           | since then?
           | 
           | No. WSL2 uses it's own, minimal (proprietary) init, which
           | basically launches default shell for the configured user and
           | that's it. No service management in sight, and no equivalent
           | of systemd's user scope or user session either.
        
             | meddlepal wrote:
             | You can boot the WSL vm with systemd but it requires some
             | fiddling.
             | 
             | That said, I've been playing around more and more with WSL2
             | on a secondary machine as a current primary Fedora user
             | (for about 10 years now) and I really haven't found a good
             | reason why I would need systemd in the WSL2 VM vs the
             | custom init.
        
               | vetinari wrote:
               | It is like Excel - most people use at most 20% of the
               | functionality, but any competitor that implements only
               | 20% is not usable.
               | 
               | Most WSL2 users use it as shell to run occasional ELF/x64
               | binary that runs in console; for services, they would use
               | Docker Desktop for Windows. Anything beyond that and you
               | will quickly find out, that it is not really a standard
               | linux distribution.
        
               | aseipp wrote:
               | A major use case I have for WSL2 requires systemd, full
               | stop (it's critical for the package manager I use.) It's
               | pretty painful not having it available, and this is
               | really something that needs improvement IMO. To be fair,
               | this could be fixed in the software too (to some extent,
               | not fully but working) which would also be a solution.
               | But I suspect this isn't the only problem people
               | encounter. There's a lot people use modern Linux for.
               | 
               | In practice that hasn't been a roadblock for me, because
               | VMWare Workstation 15.5 finally supports running on top
               | of Hyper-V, so I can have both working at once. Moving
               | everything to a single hypervisor API has some nice
               | benefits...
        
               | strictfp wrote:
               | One possible solution to this is removing systemd from
               | all distros. That way you won't need it for your package
               | manager anymore.
        
               | vetinari wrote:
               | Yeah, and let's continue with removing Win32 from
               | Windows. That way other folks do not need to bother with
               | Wine anymore.
               | 
               | /s, obviously.
        
               | aseipp wrote:
               | Please take the crybaby shit to Slashdot or something,
               | man. It's not a good look.
        
           | meddlepal wrote:
           | There's definitely a few quirks. My biggest annoyance right
           | now is https://github.com/microsoft/WSL/issues/5762 .
           | 
           | Note this only impacts calling the Linux go toolchain from
           | the Windows side (via the /$wsl/ path). Its not an issue
           | inside WSL... but it comes up when you want to say configure
           | Windows IntelliJ/GoLand to use the Go compiler hosted inside
           | of the WSL VM.
           | 
           | > When you say "proper Linux distribution", I assume that's
           | still CLI only? Do you develop with e.g. emacs, vim on WSL,
           | or do you have some IDE with remote running and debugging
           | into WSL? Or have a missed a trick and in fact X/Wayland
           | applications can be run on WSL?
           | 
           | You can run X apps just fine in WSL2 as long as you have a
           | display server running on the Windows side. I use X410.
           | Important to note, Microsoft is working on native Wayland
           | support long term. For what it is worth, I run
           | IntelliJ/GoLand from inside of WSL and use X410 to render the
           | GUI. This works great.
        
             | 600frogs wrote:
             | Your set-up sounds exactly what I'm after - from my comment
             | to a different reply:
             | 
             | > I think my end goal is to have a contained development
             | environment whilst not being forced to use specific tools
             | (i.e. VSCode remote debugging, eugh) and not sacrificing
             | compilation times by running in a VM that's too slow.
             | 
             | Are there any other gotchas to working like this? As it
             | happens I'm a go dev using GoLand so your go-specific
             | issues are of interest to me. I'm not too bothered about
             | not being able to use Windows GoLand as I'd be just using
             | it from WSL2 anyway, but I'd be interested to know if there
             | are any other pain points. Any issues with VPNs, if you're
             | using them?
        
               | meddlepal wrote:
               | I haven't tried a VPN yet, but I have heard of some
               | possible quirks due to how the networking is handled
               | between Windows and Linux in HyperV
               | 
               | Edit: Im switching from Fedora to a WSL setup for work in
               | the next week. Ill report on issues I encounter in that
               | migration. I suspect VPN will come up because one of the
               | key reasons im switching off Fedora to Windows+WSL is due
               | to corporate VPN requirements.
        
               | 600frogs wrote:
               | That'd be super great if you could let me know how it
               | goes, I'm tempted to make the same jump. Thanks!
        
               | meddlepal wrote:
               | I'll reply to this comment when I do know
        
               | running101 wrote:
               | This is the fix for vpn and wsl2 been running this for 6
               | months no issues. https://github.com/sakai135/wsl-vpnkit
        
           | tyingq wrote:
           | There's this for running systemd inside WSL2:
           | https://github.com/arkane-systems/genie
        
           | abdusco wrote:
           | It's not full-on systemd, but you can run init scripts on WSL
           | startup as of Insider Build 21286.
           | 
           | https://blogs.windows.com/windows-
           | insider/2021/01/06/announc...
        
           | Tenoke wrote:
           | >When you say "proper Linux distribution", I assume that's
           | still CLI only? Do you develop with e.g. emacs, vim on WSL,
           | or do you have some IDE with remote running and debugging
           | into WSL?
           | 
           | VScode directly connects to WSL. You can open folders/files
           | with 'code <folder>' from the WSL terminal, save, run
           | whatever from VScode etc.
           | 
           | As for Docker, you can also use the GUI from within Windows
           | that automatically connects to WSL but admittedly I almost
           | never use the GUI.
        
             | 600frogs wrote:
             | I did try VSCode remote running and debugging, but found it
             | fiddly to work with and half-baked. Plus, I was sorely
             | missing IntelliJ, so I quickly stopped trying it out -
             | maybe I'd get used to it eventually, but it didn't seem
             | worth the onboarding cost. The RDP and X410 solutions
             | suggested in the replies to GP seem solid though.
        
           | nickjj wrote:
           | > I assume that's still CLI only?
           | 
           | If you install an X server on Windows you can run graphical
           | WSL apps. It runs really well too. Years ago I used to run
           | Sublime Text straight from within WSL.
           | 
           | I've been using WSL / WSL 2 for a few years now for full time
           | web development. A while back I made a video going over all
           | the tools I use and how I have Docker, WSL 2 and a bunch of
           | other things configured at:
           | https://nickjanetakis.com/blog/a-linux-dev-environment-on-
           | wi...
        
             | nwatson wrote:
             | I run VcXsrv X-Window on Windows (Multiple windows mode)
             | and then from WSL2 Ubuntu I've run e.g. "terminator" and
             | Jetbrains CLion C++/Rust GUI, Linux Version "~/bin/clion.sh
             | &". It works very well.
        
               | nickjj wrote:
               | Yep, that's what I cover using in the video linked above
               | too. VcXsrv is so good. Nowadays I mainly use it to share
               | my clipboard between WSL and Windows so I can use native
               | Linux tools that copy to the clipboard without resorting
               | to any hacks.
        
         | ogre_codes wrote:
         | It's not too difficult to get a Linux VM running on top of
         | MacOS on the M1. Then you can do whatever you want on your M1
         | Mac and have a full Linux distribution in another window.
         | 
         | Call of Duty is a whole other problem.
        
         | eecc wrote:
         | It's still a nightmare to run IntelliJ on the WSL mounts.
         | Vscode support is much better but it's support for JVM
         | languages is definitely a downgrade
        
           | easton wrote:
           | Have you tried JetBrains Projector? They have a special
           | installer for WSL that sets everything up, and then you
           | access the IDE from your local browser. It works very, very
           | well.
           | 
           | https://github.com/JetBrains/projector-installer
        
         | cyberpunk wrote:
         | Am I the only one who, after installing some brew tool, every
         | bin in /opt/homebrew is immediately kill -9'd at launch, and
         | then I have to brew list | xargs brew reinstall?
         | 
         | Seems to be some signing issue but it's only happened to me
         | twice and I didn't have time to properly investigate at the
         | time...
        
           | jki275 wrote:
           | As a daily brew user, I've never heard of that problem.
        
         | pkulak wrote:
         | It's silver... :D
         | 
         | https://www.protondb.com/app/2620
        
         | gh-throw wrote:
         | Huh. I've seriously used... I dunno, maybe five Linux package
         | managers, on workstations and servers alike, plus poked at a
         | couple others, and the only one I'd _almost_ rather use day-to-
         | day than Brew is Portage, but even that, probably not.
         | 
         | I like having the system strictly separate from my crap, and I
         | think the UI is fairly good. The variety of packages available
         | out-of-the-box is outstanding. I miss it when I'm on Linux,
         | now, in a workstation-not-server context (yes, I know, there's
         | LinuxBrew, but the package set is much smaller and less well-
         | maintained). I started on MacPorts but got sick of it borking
         | itself every few months such that it was faster to nuke the
         | directory and reinstall everything than to figure out what it'd
         | screwed up _this_ time (granted, that was about a decade ago,
         | maybe it 's great now).
         | 
         | Brew gives off all kinds of signals of being something I'd hate
         | (cutesy; a system tool written in Ruby; breaks with norms) but
         | I like it a ton.
        
           | regulation_d wrote:
           | Brew consistently upgrades things that shouldn't need to be
           | upgraded. I've spent more hours than I care to count fixing
           | broken Postgres installations which regularly get major
           | version bumps as a result of a completely unrelated install
           | or upgrade.
           | 
           | I've never used linux as a dev machine, but in general apt
           | seems much more reasonable in this regard. My frustration
           | with Brew is pushing me to seriously consider a linux
           | machine, so if anybody has counterpoints here I'm definitely
           | interested in hearing about your experiences.
           | 
           | I don't care that Brew "breaks with norms" I just care that
           | it breaks my shit.
        
             | ogre_codes wrote:
             | If having a specific version of a tool is important for
             | your work, it's probably best to install that tool separate
             | from homebrew and manage that install separately. The
             | Postgres docs seem to recommend the EDB installer.
             | 
             | https://www.postgresql.org/download/macosx/
             | 
             | Likewise Python and other programming tools where running a
             | specific version is important are best managed outside
             | homebrew.
        
             | qubitcoder wrote:
             | Indeed. I've run into this multiple times. Something as
             | simple as "brew upgrade youtube-dl" could end upgrading
             | dozens of _unrelated_ packages, such as postgres--which
             | ends up breaking my local development environments. Perhaps
             | that's the wrong command to use, but either way, it's still
             | frustrating when it happens.
        
               | MuffinFlavored wrote:
               | Why don't the brew developers change this/add an
               | option/make it opt in?
        
             | fnord77 wrote:
             | this right here. When I instruct brew to install something,
             | I didn't instruct it to upgrade everything else. And I
             | didn't instruct it to do a 30 day clean up.
             | 
             | apt and yum don't go doing things you didn't tell them to
             | do (usually)
        
             | vlunkr wrote:
             | Yes, Ubuntu/Debian are very conservative with their
             | updates. Especially if you're on an LTS release, so you're
             | unlikely to have something break from an upgrade like that.
             | Brew tends to be very up-to-date.
        
             | gh-throw wrote:
             | I think I must use it differently from how other people do.
             | I use it to install tools I'll use directly, so I
             | practically always want those to be at latest (or otherwise
             | don't really care what version they are). If I need
             | something at a particular version I'd use a container, or
             | install it manually in some isolated folder, or something
             | like that, since odds are if I need something at a
             | particular version I'm going to need it at _multiple_
             | particular versions and to be able to re-create the
             | installation on other environments.
             | 
             | So I end up with:
             | 
             | System -> Apple-managed
             | 
             | My tools, as in programs I personally use -> pretty much
             | entirely Brew, in fact I think on my current workstation
             | this category _is_ 100% brew-installed
             | 
             | Dependencies of anything I'm working on -> some language-
             | specific version manager (which itself is may be brew-
             | managed, actually) plus containers or VMs with scripted
             | installs, probably.
             | 
             | On linux my experience is typically more like:
             | 
             | System -> package manager
             | 
             | My tools -> package manager, plus some sketchy extra repos
             | that I hate to add but do anyway because I don't want to
             | screw with manually updating things, plus several things
             | installed manually, plus a bunch of things on older
             | versions than I'd like but not worth the trouble/risk of
             | finding some way to upgrade without it being a PITA.
             | 
             | Dependencies of anything I'm working on -> some language-
             | specific version manager (almost certainly not available in
             | the distro's official repos) plus containers or VMs with
             | scripted installs, probably.
             | 
             | So for _my_ use, Brew cleans up the  "My Tools" workflow
             | very nicely compared with Linux, excepting, kind of, my
             | days back on Portage/Gentoo, which of course has its own
             | problems.
        
               | mnahkies wrote:
               | I don't quite understand your argument. I use my distros
               | package manager in a very similar way to how you describe
               | brew for my tools, and also use containers in the
               | contexts you describe.
               | 
               | Only difference I see is that my containers are running
               | natively (eg no VM in the background) and that I've not
               | had any random errors from my package manager in years.
               | Not sure what brew is like these days but last I used it
               | the experience felt like a half baked apt/yum to me (3+
               | years ago though)
        
               | gh-throw wrote:
               | GP and a sibling comment (quote: "Something as simple as
               | "brew upgrade youtube-dl" could end upgrading dozens of
               | _unrelated_ packages, such as postgres--which ends up
               | breaking my local development environments.") seem to
               | describe using Brew to manage dependencies of
               | applications they are developing, which I _do not_ do,
               | and wouldn 't do with a Linux workstation's package
               | manager either, so I never have those problems. That's
               | what I was pointing out.
               | 
               | For me, Brew is for managing my personal software I use
               | that doesn't come from Apple. Project dependencies,
               | including the version of the compiler or interpreter for
               | the language you're writing, don't belong brew-managed in
               | most cases, which seems to be what's tripping people up
               | when they try to use it for that.
               | 
               | Yes, containers run better on Linux because they're
               | native. No quibble there. I just find I'm much, much
               | better able to cleanly manage my personal software (not
               | project dependencies, which, again, I wouldn't try to
               | manage with my workstation's Linux package manager,
               | either) with Brew on macOS than in any Linux distro I've
               | used. 99% of what I ever want to run (outside the base
               | OS, and project dependencies) is on there, available at a
               | single "brew install", after I do nothing more than
               | install Brew itself, versus 50-95% on Linux (depending on
               | the distro), where I find myself adding all kinds of
               | extra repos and installing one-offs a variety of ways
               | just to get to a baseline level of having all the stuff I
               | need at new-enough versions. And the interface is above-
               | average, in my opinion (but again, Portage/Emerge is my
               | favorite package manager on Linux and maybe the only one
               | aside from Void's that I've found _pleasant_ to use, so I
               | may just be weird)
        
           | cromka wrote:
           | Yeah, let's talk about how brew still can't just remove the
           | leftover dependencies or uninstall a package with its
           | otherwise unused dependencies without some extra command or
           | hacks.
        
             | mikemcquaid wrote:
             | 'brew autoremove' does this.
        
               | cromka wrote:
               | Is this new? I swear I searched as recently as last week
               | and the only thing that came up was "rmtree" and the
               | "brew bundle dump && brew bundle --force cleanup"
               | workarounds.
        
               | geoelectric wrote:
               | brew might have a discoverability challenge. I've been
               | installing an rmtree helper to do this for years and
               | didn't even know it was an option to autoremove them.
        
           | jbluepolarbear wrote:
           | As a casual user I like Brew. As a long time mac developer
           | and private cask maintainer(no longer thankfully), I wish
           | there was something close to what the Linux ecosystem has.
        
             | rconti wrote:
             | As a casual user (install something once every 6 months), I
             | can't even keep brew's insane terminology straight. If I
             | was a REGULAR casual user, I'm sure it would be fine.
        
             | Eugr wrote:
             | Have you tried MacPorts?
        
               | jbluepolarbear wrote:
               | I tried it, but everything required sudo and that wasn't
               | an option at the time. I primarily develop in Windows(on
               | a Mac) now because Unity runs much better on windows than
               | Mac OS.
        
       | dumpsterdiver wrote:
       | I've never found it reasonable to virtualize on Apple systems.
       | Apple optimizes for security, specificity, and bubblegum
       | usability.
       | 
       | Technical limitations aside, from a security perspective it is
       | not a good idea to run servers on the same system that you write
       | code from. I humbly suggest taking the time to push code to your
       | dedicated Linux server, otherwise you might inadvertantly be
       | putting your company out of compliance by exposing your dev
       | system on any given network.
        
       | sigjuice wrote:
       | Docker is for running Linux apps. I honestly don't see the appeal
       | of abstracting away the Linux VM via Docker for Mac, especially
       | if it has issues like filesystem performance. I have been running
       | docker inside a Linux VM in VMWare Fusion on my Intel MacBook.
       | Surely it would be possible to just have a plain Linux VM on an
       | M1 Mac and run Docker inside it?
        
         | ogre_codes wrote:
         | The big thing Docker solves is repeatability and isolation. If
         | you create a Docker instance on your Mac, you are more or less
         | guaranteed it will work the same in production.
         | 
         | If you were to create a Linux VM to replace Docker, you would
         | need it to also recreate the Docker build tools for that VM so
         | you could recreate that VM on the server. At that point, you've
         | more or less come full circle and essentially recreated Docker.
        
           | sigjuice wrote:
           | I am not creating a Linux VM to replace Docker.
           | 
           | I have a Linux system (the VM). Docker is installed on that
           | Linux system and I do all docker related work on the Linux
           | system.
        
             | sarabad2021 wrote:
             | Yes, this is really the only way to tolerate Docker on a
             | Mac. Basically it's the same thing WSL does on Windows.
             | Linux in a VM then you run Docker in the VM. Not many
             | people talk about doing it this way though.
        
             | ogre_codes wrote:
             | Ah, obv I misunderstood your above post.
             | 
             | Makes a ton of sense. It's been a while since I used
             | Docker, but I'll have to try it out next time I'm using a
             | container setup. Particularly since HyperKit seems to make
             | running a VM so straight forward.
        
       | mistyfud wrote:
       | I recently left the Mac ecosystem and bought myself a System 76
       | laptop. I do a lot of server-side development and running Docker
       | at native speed is a big productivity boost for me. I really do
       | hope they get this sorted out, it's a great technology that has
       | measurably improved the local development experience.
       | 
       | I wonder if services like https://garden.io/ will see more
       | business as a result of these issues? That or more folks will
       | move to Windows or Linux as their primary development machine and
       | reach for cloud-based Mac environments when they need to develop
       | for Apple?
        
       | ryanSrich wrote:
       | I've been using the experimental version for a while now and
       | haven't run into any issues. Glad to see a release candidate.
        
       | b1gtuna wrote:
       | I wish there was CLI-only version of the Docker Desktop. I can't
       | even launch Docker Desktop unless there is a monitor connected
       | and a user logged in.
        
         | qbasic_forever wrote:
         | Run containerd and buildkit in a vagrant VM. You'll have a lot
         | more control--you can pick what kernel you want (and even
         | upgrade it as necessary), you can expose host filesystems and
         | devices to the VM, etc. It's the same thing Docker Desktop is
         | doing behind the scenes but now you control the full stack.
        
       | sneak wrote:
       | At some point, Docker switched from being an open source, free
       | software company, to producing stuff like these Docker Desktop
       | apps that are a) nonfree, b) not even source available, and c)
       | contain spyware in them that report back to them your activities
       | in the app silently and without your consent. (On crashes, it
       | even uploads some of your network traffic in the form of pcaps.)
       | Most people didn't notice this shift, as Docker Desktop (the app
       | in TFA) still has a github repo, et c. It just doesn't have any
       | source in it.
       | 
       | Not being open source I can't easily tell _what_ sort of data it
       | uploads during usage (but I did inspect the crashdump it uploads,
       | and HOOOO BOY is it a fuckton of sensitive data about your
       | running system), so being someone who usually works under NDA,
       | even installing this on my machine is a liability risk, as it
       | could transmit information about my customers.
       | 
       | You're better off using the actually open source docker command
       | line client (installable from your favorite package manager) and
       | setting DOCKER_HOST in your environment to something like
       | "ssh://root@remotehost" (set up ssh key auth first, and install
       | the docker daemon on remotehost) which will serve you a lot
       | better, with the added benefit of running at full, non-emulated
       | speed (and pulling images/packages/pushing/etc will happen from a
       | datacenter pipe, not your puny leaf node on wi-fi).
        
       ___________________________________________________________________
       (page generated 2021-03-19 23:01 UTC)